ここでは、MQアダプタの運用について説明します。
MQアダプタの運用中にエラーが発生した場合の対処方法は次のとおりです。
インバウンドのMQアダプタを利用している場合
インバウンドのMQアダプタでエラーが発生した場合、またはインバウンドのMQアダプタから実行されたシーケンスがエラーになった場合は、インバウンドのMQアダプタはMQアダプタ設定ファイルのerrorModeの指定値に従って動作します。MQアダプタ設定ファイルのerrorModeの指定の詳細は、“ISI 導入ガイド”の“MQアダプタ利用時の設定”にある“インバウンドのMQアダプタ設定ファイル”を参照してください。
エラー発生のタイミング、MQアダプタ設定ファイルのerrorModeの指定値と、インバウンドのMQアダプタの動作の関係は以下の通りです。
エラー発生タイミング | errorMode:HALT | errorMode:CONTINUE | errorMode:ROLLBACK |
---|---|---|---|
トランザクション開始失敗 | メッセージ受信機能停止 | メッセージ受信機能停止(注1) | メッセージ受信機能停止(注1) |
メッセージ受信失敗 | メッセージ受信機能停止 | メッセージ受信機能停止(注1) | メッセージ受信機能停止(注1) |
インバウンドルーティング失敗 | ロールバックしてメッセージ受信機能停止 | コミットして処理継続 | ロールバックして処理継続 |
シーケンス呼び出し失敗 | ロールバックしてメッセージ受信機能停止 | コミットして処理継続 | ロールバックして処理継続 |
シーケンス異常終了 | ロールバックしてメッセージ受信機能停止 | コミットして処理継続 | ロールバックして処理継続 |
キューコミット失敗 | メッセージ受信機能停止 | メッセージ受信機能停止(注2) | メッセージ受信機能停止(注2) |
注1:処理を継続したとしても復帰が見込めないエラーであるため、CONTINUEまたはROLLBACKを指定した場合でもメッセージ受信機能を停止します。
注2:エラーが発生しても実際にはコミットが成功している場合もあり、MQアダプタがコミットの可否を確認できないため、CONTINUEまたはROLLBACKを指定した場合でもメッセージ受信機能を停止します。
システムログ、およびインバウンドのMQアダプタのトレースログに出力されているエラー情報を参照して対処してください。インバウンドのMQアダプタのトレースログ出力先は、“4.2.2 トレースログ”を参照してください。
対処後、インバウンドのMQアダプタのメッセージ受信機能が停止している場合には、インバウンドのMQアダプタを停止し、再起動してください。MQアダプタの停止方法は、“1.1.2 停止”を参照してください。MQアダプタの起動方法は、“1.1.1 起動”を参照してください。
アウトバウンドのMQアダプタ(Oneway方式)を利用している場合
アウトバウンドのMQアダプタ(Oneway方式)でエラーが発生した場合
送信先のWebSphere MQのキューが満杯などの理由で、アウトバウンドのMQアダプタの処理がエラーになった場合、アウトバウンドのMQアダプタの呼び出しがエラーとなり、シーケンスがエラー終了します。
システムログ、およびアウトバウンドのMQアダプタのトレースログに出力されているエラー情報を参照して対処してください。アウトバウンドのMQアダプタのトレースログ出力先は、“4.2.2 トレースログ”を参照してください。
対処後、エラーとなったシーケンスを再度実行してください。
アウトバウンドのMQアダプタ(Oneway方式)を呼び出すシーケンスがエラーになった場合
アウトバウンドのMQアダプタを呼び出すシーケンスが、フォーマット変換の失敗などでエラーになった場合は、アウトバウンドのMQアダプタが停止することはありません。
システムログ、およびISIサーバのトレースログに出力されているエラー情報を参照して対処してください。ISIサーバのトレースログ出力先は、“4.2.2 トレースログ”を参照してください。
対処後、エラーとなったシーケンスを再度実行してください。
ポイント
アウトバウンドのMQアダプタを呼び出した後のステップでエラーが発生した場合、メッセージが冗送する可能性があります。
冗送を防止するためには、サービス提供側アプリケーションで冗送を検知・対処してください。
インバウンドのMQアダプタが異常終了した場合
インバウンドのMQアダプタが異常終了でメッセージ受信機能が停止した場合、インバウンドのMQアダプタを停止し、再起動してください。MQアダプタの停止方法は、“1.1.2 停止”を参照してください。MQアダプタの起動方法は、“1.1.1 起動”を参照してください。
ISIサーバのシーケンス実行が正常に終了し、インバウンドのMQアダプタがWebSphere MQのキューをコミットするまでに異常終了した場合、WebSphere MQのキューにメッセージが残ります。
インバウンドのMQアダプタを再起動すると、WebSphere MQのキューの先頭のメッセージを再度受信するため、メッセージの冗送が発生する可能性があります。
冗送を防止するためには、サービス提供側アプリケーションで冗送を検知・対処してください。
アウトバウンドのMQアダプタ(Oneway方式)が異常終了した場合