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