メッセージ処理中にエラーが発生してシーケンスが完了できなかった場合、利用側サービスにエラーが通知されます。エラーが発生した場合は、システムログ、およびトレースログに出力されているエラー情報を参照して対処してください。対処後、必要に応じて再度メッセージを送信してください。
非同期メッセージング機能運用時に異常が発生し、シーケンスが完了できなかった場合、リカバリキューに退避されるメッセージをもとにリカバリを行う必要があります。
エラー原因の対処
異常メッセージのリカバリ
エラー原因の対処
システムログからエラー情報を確認してください。エラー情報から確認したエラーメッセージをもとに“ISI メッセージ集”を参照し、エラー原因の特定と対処を行ってください。
異常メッセージのリカバリ
異常発生時に退避されたメッセージに対してリカバリを実行します。リカバリキューに退避されたメッセージをリカバリ対象のキューへ移動することでリカバリを行います。リカバリ対象のキューに空きがない場合は、リカバリキューに退避されたメッセージを、ISIサーバで直接実行することでリカバリを行います。
ISI運用管理コンソールの[メッセージ処理状態]画面から行います。画面の操作方法は、“1.2 ISI運用管理コンソールのヘルプ”を参照してください。
異常メッセージの検索
エラー情報から、メッセージID、サービスエンドポイント名などでメッセージの処理状況を絞り込み表示します。
異常メッセージの再実行
特定したメッセージを選択し、再実行を行ってください。
isijmsrecoveryコマンドを使用し、インバウンドのJMSキューの名前を指定して異常メッセージのリカバリを行います。
isijmsrecoveryコマンドは、JMSCorrelationIDを指定して特定のメッセージだけをリカバリする方法と、メッセージの件数を指定してリカバリする方法があります。isijmsrecoveryコマンドの詳細は、“ISI リファレンス”を参照してください。
ポイント
ISIでは、JMSCorrelationIDとESIMessageIDに同じIDを設定します。そのため、JMSCorrelationIDを指定して特定のメッセージだけをリカバリする場合は、異常発生時にログに出力されたESIMessageIDをJMSCorrelationIDとして指定してください。