4.14.2 Message-driven Bean(サービス)の開始と終了
(1) Message-driven Bean(サービス)の開始
TP1インバウンドアダプタを使用するJ2EEアプリケーションをcjstartappコマンドで起動すると,Message-driven Bean(サービス)は開始します。
ActivationSpecの設定値が不正な場合,エラーメッセージが出力され,Message-driven Bean(サービス)の起動は失敗します。ActivationSpecの設定については,「4.9.5 ejb-jar.xmlの定義」を参照してください。
(2) 終了
Message-driven Bean(サービス)は,TP1インバウンドアダプタを使用するJ2EEアプリケーションが次のどちらかで停止した場合に終了します。
- cjstopappコマンドで通常停止した場合
- cjstopappコマンドの-forceオプションまたは-cancelオプションを指定して強制停止した場合
Message-driven Bean(サービス)の終了処理中は,新たなRPC電文を受け付けないようにスケジュールキューは停止されます。また,未処理のRPC要求と実行中のMessage-driven Bean(サービス)は次のように処理されます。
- 新たに受信した未処理のRPC要求
- リクエスト受け付けスレッドが受け付けたRPC要求です。RPC要求を破棄して,OpenTP1にRPCエラーを応答します。
- RPCエラーコードとしてDCRPCER_NO_SUCH_SERVICE(-311)が返され,エラーメッセージが出力されます。
- 受信済みの未処理のRPC要求
- スケジュールキューに登録済みのRPC要求です。RPC要求を破棄して,OpenTP1にRPCエラーを応答します。
- RPCエラーコードとしてDCRPCER_SERVICE_TERMINATING(-313)が返され,エラーメッセージが出力されます。
- 実行中のMessage-driven Bean(サービス)
- 停止種別によって処理が次のように異なります。
- 通常停止の場合
終了するまで待機します。
- 強制停止の場合
強制終了(メソッドキャンセル)されます。
RPCエラーコードにDCRPCER_TIMED_OUT(-307)が返され,エラーメッセージが出力されます。
強制終了(メソッドキャンセル)は,Message-driven Bean(サービス)実行中にだけ実行できます。なお,保護区では強制終了(メソッドキャンセル)できません。
- 参考
- 正常に開始/終了した場合は,ログファイルにメッセージが出力されます。