Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option 使用の手引


6.6.3 DBキューの状態遷移(ユーザキューアクセス)

DBキュー機能を使用してユーザキューアクセスする場合のDBキューの状態遷移の流れを次の図に示します。

図6‒8 DBキューの状態遷移(ユーザキューアクセス)

[図データ]

図の説明を次に示します。説明文中の番号は図中の番号と対応します。

DBキューは,TP1/EE開始時のDBキュー表の構成チェックが正常に完了することで通常状態となります(1)。DBキュー表の構成チェックの結果,DBキュー表の構成に問題がある場合(2)は,DB構成不正による使用不可とし,該当するDBキューに対する状態参照だけできます。状態参照以外の要求は受け付けません。

DBキュー表の構成チェックが完了していない場合,RM未接続による使用不可のままになります。TP1/EE開始時に,リラン時の情報によって,コマンド・関数による読み出し停止になります(3)。

通常状態,またはコマンド・関数による読み出し停止状態になると,関数受け付け可能状態になり,DBキューに対する要求を受け付け,トランザクションが動作します。DBキューのトランザクション処理でDBキューの内部矛盾を検知した場合は,DBキューの内部矛盾による使用不可とします(4)。また,ユーザが関数によってメッセージの読み出しを停止させることもできます(5)。

コマンド・関数による読み出し停止状態は,コマンド・関数によって読み出し再開要求(6)をすることで解除され,通常状態となります。

なお,DBキューが関数受け付け可能状態になると,DBキューに対する処理要求を受け付けます。処理要求の受け付け後は,DBキューの起動中のトランザクションを管理することで,DBキューのトランザクションが同時に動作しないようにします。管理するトランザクションを次に示します。

〈この項の構成〉

(1) DBキューとDBキューサービスとの接続

DBキュー機能を使用してユーザキューアクセスする場合,DBキューから読み出したメッセージを送信するため,DBキューとDBキューサービスとを,DBキュー機能関連定義のdbqsrvdef定義コマンドによって接続します。TP1/EE起動後に,dbqsrvdef定義コマンドで指定した接続を変更したい場合は,eedbqcnctコマンド,eedbqrelsコマンド,またはee_dbq_conctl関数によって,DBキューとDBキューサービスとを接続したり,接続を解除したりできます。

(2) TP1/EE開始時のDBキュー表の構成チェック

DBキュー機能を使用してユーザキューアクセスする場合,TP1/EE起動時およびリソースマネジャ接続時にDBキュー表の構成をチェックします。DBキュー表の構成に誤りがあった場合,DBキューから読み出しを停止できますが,コマンドまたは関数でDBキューの読み出しの停止解除はできません。

(3) DBキューの読み出し停止および停止解除

DBキュー機能を使用してユーザキューアクセスする場合,eedbqstopコマンドまたはee_dbq_acsctl関数によって,DBキューの読み出しを停止できます。DBキューの読み出しを再開したい場合は,eedbqrstコマンドまたはee_dbq_acsctl関数によってDBキューの読み出しの停止を解除します。

(4) TP1/EE終了時の未読み出しメッセージのチェック

DBキュー機能を使用してユーザキューアクセスする場合,TP1/EE正常終了時に未読み出しメッセージがあるときも,TP1/EEを終了します。