非同期通信においてメッセージ処理中に異常が発生し、シーケンスが完了できなかった場合、異常時に退避される異常メッセージをもとに非同期通信のリカバリを行う必要があります。非同期通信のリカバリ手順を以下に説明します。
エラー原因の対処
異常メッセージのリカバリ
キュー読み込みの再開
エラー原因の対処
システムログからエラー情報を確認してください。エラー情報から確認したエラーメッセージをもとに“ISI メッセージ集”を参照し、エラー原因の特定と対処を行ってください。
異常メッセージのリカバリ
リトライオーバーが発生して退避された異常メッセージに対してリカバリを実行します。異常メッセージのリカバリはISI運用管理コンソールから行います。
異常メッセージのリカバリはISI運用管理コンソールの[リカバリメッセージ]画面から行います。画面の操作方法の詳細は“1.2 ISI運用管理コンソールのヘルプ”を参照してください。異常メッセージのリカバリは以下の手順で行います。
異常メッセージの検索
[リカバリメッセージ]画面で、エラーとなったメッセージを検索してください。検索条件には以下の項目を指定することが可能です。
シーケンス名
JMSCorrelationID
キュー名
異常メッセージの確認
検索結果の一覧が[リカバリメッセージ]画面に表示されます。表示された一覧からエラーとなったメッセージを確認してください。一覧でメッセージを特定できない場合、[リカバリメッセージ詳細]画面でメッセージの内容を確認し、メッセージを特定してください。
異常メッセージの再実行/削除
再実行と削除は[リカバリメッセージ]画面で行います。対象のメッセージを選択し、再実行/削除を行ってください。
異常メッセージのリカバリはISI運用管理コンソールの[メッセージ蓄積]画面から行います。画面の操作方法の詳細は“1.2 ISI運用管理コンソールのヘルプ”を参照してください。異常メッセージのリカバリは以下の手順で行います。
メッセージの検索
[メッセージ検索]画面で、以下の条件を入力してエラーとなったメッセージを検索してください。
蓄積/再送後:蓄積メッセージ
ステータス:すべて
エラーステータス:エラー(すべて)
上記以外にも検索条件を詳細に指定することで検索結果を絞り込むことができます。
メッセージの確認
検索の結果は[検索結果一覧(蓄積メッセージ)]画面に表示されます。表示された一覧からエラーとなったメッセージを確認してください。一覧でメッセージを特定できない場合、[メッセージ詳細(蓄積メッセージ)]画面でメッセージの内容を確認し、メッセージを特定してください。
メッセージの再送処理
[検索結果一覧(蓄積メッセージ)]画面でメッセージを選択し、再送処理を実行します。再送実行時は画面が遷移します。[再送履歴の入力]画面では必要に応じて履歴を入力し、[再送実行確認]画面では再送するメッセージが正しいか最終確認を行ってください。また、メッセージの再送処理はesiretrymsgコマンドでも実行できます。esiretrymsgコマンドの詳細は“ISI リファレンス”を参照してください。
異常メッセージの再送処理を行わない場合は異常メッセージのステータスを「再送対象外」に変更してください。
キュー読み込みの再開
順番保証機能を利用した運用を行っている場合、インバウンドキュー、またはアウトバウンドキューからの読み込みを停止し、後続メッセージの処理を停止します。後続メッセージの処理再開のためには、退避されている異常メッセージのリカバリを行ってから、キュー読み込みを起動する必要があります。キュー読み込みの起動はISI運用管理コンソールの[実行モニタ]から行います。キュー読み込みの起動は以下の手順で行います。
キュー読み込み稼動状態の確認
[実行モニタ]画面でキュー滞留件数の表示を行うことでキュー読み込み稼動状態が確認できます。また、キュー読み込み稼動状態はesiqueuereadstatusコマンドでも確認することができます。esiqueuereadstatusコマンドの詳細は“ISI リファレンス”を参照してください。
キュー読み込みの起動
キュー読み込み稼動状態の確認後、[実行モニタ]画面で対象キューのキュー読み込み起動を実行してください。以下の条件をすべて満たす場合、キュー読み込みの起動に失敗します。キュー読み込みの起動に失敗する場合は、再度異常メッセージのリカバリ・削除の手順から対処してください。
順番保証運用を行っている。
異常メッセージのリカバリ・削除が行われていない。
また、キュー読み込みの起動はesiqueuereadstartコマンドでもできます。esiqueuereadstartコマンドの詳細は“ISI リファレンス”を参照してください。