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