メッセージトラッキング機能のエラー詳細画面、またはシステムログへ出力されたエラーメッセージにより異常原因を特定します。
また、エラーメッセージ退避キューに滞留したメッセージの一覧は、apfwlistmsgコマンドに“-c オプション”および“-q オプション”を指定して実行することで確認できます。apfwlistmsgコマンドの詳細については、“Interstage Business Application Server リファレンス”を参照してください。
メッセージトラッキング機能では、以下の情報により異常原因の特定を行います。
異常となったメッセージの一覧画面のエラー内容欄に出力されているエラーメッセージのID
“Interstage Business Application Server メッセージ集”を検索し、該当するメッセージの意味を確認します。
異常となったメッセージのエラー詳細画面に出力されるメッセージの処理状況(経路情報)
特定のアクティビティ間でメッセージの処理が遅延していないかなど、異常が発生したアクティビティにメッセージが渡る以前に、問題となる箇所がないかを調査します。
エラーメッセージのIDを“Interstage Business Application Server メッセージ集”で検索し、該当するメッセージの意味を確認します。
異常処理にメッセージが退避された場合は、退避先のエラーメッセージ退避キュー名、またはシリアライズファイル名がメッセージの可変情報に出力されています。
異常原因により、その対処方法は、以下に分類されます。
“異常となったメッセージを削除”
“異常となったメッセージを修復してからフローを再開”
“異常となったメッセージを修復しないでフローを再開”
それぞれの対処方法を以下に示します。
異常となったメッセージを削除
応答時間内にメッセージが処理できないなど、異常となったメッセージが業務的に不要となった場合は、メッセージを削除します。メッセージの削除は以下のどちらかの方法で行います。
エラーメッセージ退避キューに格納されたメッセージ
apfwdelmsgコマンドに“-e オプション”を指定して実行することにより、メッセージを削除します。apfwdelmsgコマンドの実行例を以下に示します。
apfwdelmsg -c APFWQCF -q ErrQueue001 -n FLOW001 -i ID001 -e |
apfwdelmsgコマンドの詳細については、“Interstage Business Application Server リファレンス”を参照してください。
シリアライズファイル
OSの削除コマンドでシリアライズファイルを削除します。また、メッセージトラッキング機能を使用している場合は、当該メッセージに関するエラー情報も削除してください。エラー情報は、apfwdeltrackコマンドに当該メッセージのコリレーションIDを指定して削除します。OSの削除コマンドおよびapfwdeltrackコマンドの実行例を以下に示します。
rm APFW_FLOW001_050420_190840730.ser apfwdeltrack -j MSGTRKDB -u admin -n FLOW001 -i ID001 |
del APFW_FLOW001_050420_190840730.ser apfwdeltrack -j MSGTRKDB -u admin -n FLOW001 -i ID001 |
apfwdeltrackコマンドの詳細については、“Interstage Business Application Server リファレンス”を参照してください。
異常となったメッセージを修復してからフローを再開
メッセージに設定した業務データが異常となっているなどの理由によって、異常処理出口にメッセージが通知された場合、当該メッセージを修正してから異常となったアクティビティにメッセージを戻すことでフローを再開します。
メッセージを修復してからフローを再開する操作は、“8.3.3 メッセージの修正”を参照してください。
異常となったメッセージを修復しないでフローを再開
フローのタイムアウトやアプリケーション連携実行基盤のリトライ回数超過などの理由により、メッセージ自体の修正が不要な場合、フローの再開は以下のどちらかの方法で行います。
エラーメッセージ退避キューに格納されたメッセージ
apfwrecovmsgコマンドを“-c オプション”および“-q オプション”を指定して実行することによりフローを再開します。フローの再開方法は、“8.3.5 フローの再開”を参照してください。
シリアライズファイル
apfwrecovmsgコマンドを“-s オプション”を指定して実行することによりフローを再開します。フローの再開方法は、“8.3.5 フローの再開”を参照してください。