- メッセージ・フローが最後に正常に実行したとき以後、メッセージ・フローに何らかの変更を加えたか?
変更を加えた場合は、フローの新規または変更部分のどこかにエラーがあるものと思われます。
変更を調べて、はっきりとした問題の理由があるかどうか調べてください。
- 以前にメッセージ・フローの全機能を完全に使用したことがあるか?
それまで呼び出したことのなかったメッセージ・フローの一部を使用したときには、問題が起きましたか?
問題が起きた場合は、その部分にエラーがあるものと思われます。
その部分の実行を失敗したときにメッセージ・フローが何を実行していたかを調べてください。ユーザー・トレースを使用します。
これまで何回もメッセージ・フローを正常に実行してきたという場合は、
現在のキューの状況とエラーが起きたときに処理していたファイルを調べてください。
その中に何かの異常なデータ値が含まれていて、それが原因でメッセージ・フローではめったに使用しないパスが呼び出された可能性があります。
- メッセージ・フローはすべての戻りコードをチェックするか?
システムはおそらくわずかに変更されたが、変更の結果として受け取る戻りコードをメッセージ・フローがチェックしなかったということはあり得ますか?以下に例を示します。
- メッセージ・フローは、アクセスするキューを共有できることを想定していますか?
キューが排他的として再定義されている場合、
そのキューにはこれ以上アクセスできないことを示す戻りコードを、メッセージ・フローは処理できますか?
- セキュリティー・プロファイルが変更されましたか? セキュリティー違反が原因でメッセージ・フローが失敗することもあります。
- メッセージ・フローは特定のメッセージ形式を予期しているか?
予期しないメッセージ形式のメッセージがキューに書き込まれた場合
(たとえば、異なるプラットフォームのキュー・マネージャーからのメッセージ)、
データ変換や他の形態の処理が必要になる場合があります。
加えて、使用したメッセージ形式に何かの変更を加えていないか、確認してください。
- メッセージ・フローが他の WebSphere Event Broker システム上で実行しているか?
システムのセットアップ状況が何か異なるために、問題が起きていますか?
たとえば、キューは同じ最大メッセージ長、または優先順位で定義されていますか?
使用するデータベースまたはそのセットアップに相違がありますか?
メッセージ・フローがこれまで正常に実行しなかったことがある場合には、次のようなエラーがないかメッセージ・フローを注意深く調べてください。
- WebSphere Event Broker または外部リソース (データベースなど) からのエラーがあるか?
プリミティブ・ノードで failure ターミナルを誤って使用したために、メッセージ・フローがエラーを見落としている可能性があります。
failure ターミナルを使用する場合は、
エラーの処理が適切に行われているか確認してください。
failure ターミナルの詳細については、メッセージ・フローのエラー処理を参照してください。