0

メッセージ Broker 7.0.0.5 で次の問題が発生しました。フローは次のとおりです。

フロー

やりたいこと: 1. XML を受け入れ、XMLNSC を使用して解析する 2. 次に、いくつかのビジネス ロジックを実行する必要がありますが、それをスキップして次のことに焦点を当てましょう - 2 つのユーザー例外をスローしたい - 1 つはモジュール内GoodReport、もう 1 つ - モジュール BadReport では、Out フローと Catch フローの両方で処理された後、メッセージがバックアウト キュー (キュー用に 1 つ作成し、しきい値を 10 に設定) に送られると想定します。再度処理するための MQInput。したがって、バックアウト キューに 10 個のメッセージがあると予想されますが、代わりに - 何も得られません

フローで両方のエラーがスローされているのを確認できますが、トレースの最後の行に最も驚かされるのは、「XMLNS」ドメインがどこから出現したのかということです。 私は XMLNSC ドメインのみを使用しています。

メッセージがバックアウト キューに表示されないのはなぜですか?

前もって感謝します!

タチアナ。

ここにトレースがあります:

2012-12-17 19:25:54.692283 5756 RecoverableException BIP2488E: ('.Esql6_1Flow_Report.Main', '19.4') SQL ステートメント''THROW EXCEPTION MESSAGE 3 VALUES ('NO_SUCH_SOURCE');'' の実行中にエラーが検出されました。メッセージ ブローカは、指定されたステートメントの実行中にエラーを検出しました。SQL プログラムを短縮するために例外がスローされました。エラーの詳細については、以下のメッセージを参照してください。

2012-12-17 19:25:54.692302 5756 ユーザー例外?????????? 3 ?????????? BIPmsgs.properties 2012-12-17 19:26:52.830982 5756 エラー BIP2628E: 入力ノード 'Esql6_1Flow.MQInput' で例外条件が検出されました。入力ノード 'Esql6_1Flow.MQInput' は、メッセージの処理中にエラーを検出しました。メッセージ・フローはロールバックされており、メッセージが作業単位で処理されていた場合は、再び処理されるために入力キューに残ります。次のメッセージは、この例外の原因を示します。後続のエラー メッセージを確認して、例外が生成された理由を特定し、それらのメッセージの説明に従って対処してください。

2012-12-17 19:26:52.831005 5756 RecoverableException BIP2230E: ノード 'Esql6_1Flow.BadReport' でメッセージを処理中にエラーが検出されました。メッセージ ブローカは、ノード 'Esql6_1Flow.BadReport' でメッセージを処理中にエラーを検出しました。メッセージの処理を短縮するために、例外がスローされました。エラーの詳細については、以下のメッセージを参照してください。

2012-12-17 19:26:52.831012 5756 RecoverableException BIP2488E: ('.Esql6_1Flow_Compute.Main', '13.4') SQL ステートメント''THROW EXCEPTION MESSAGE 3 VALUES ('NO_SUCH_SOURCE');'' の実行中にエラーが検出されました。メッセージ ブローカは、指定されたステートメントの実行中にエラーを検出しました。SQL プログラムを短縮するために例外がスローされました。エラーの詳細については、以下のメッセージを参照してください。

2012-12-17 19:26:52.831020 5756 ユーザー例外?????????? 3 ?????????? BIPmsgs.properties

2012-12-17 19:26:53.831737 5756 エラー BIP2648E: メッセージがキューにバックアウトされました。ノード「Esql6_1Flow.MQInput」。ノード 'Esql6_1Flow.MQInput' は、メッセージ フローのメイン パスで処理エラーが発生したため、以前に 1 回以上バックアウトされたメッセージを受信しました。failure ターミナルが接続されていないため、メッセージ ブローカは、このノードに関連付けられた再キューまたはデッド レター バックアウト キューにメッセージを直接入れています。メッセージの MQMD 'backoutCount' は、WebSphere MQ 入力キューに定義された 'backoutThreshold' と等しくなりました。以前のメッセージとメッセージ フローを調べて、メッセージがバックアウトされている理由を判断してください。可能であれば、この状況を修正してください。

2012-12-17 19:26:53.832435 5756 UserTrace BIP2638I: MQ 出力ノード 'Esql6_1Flow.MQInput' が、キュー マネージャー ''testQueueManagerName'' に接続されているキュー ''SYSTEM.DEAD.LETTER.QUEUE'' にメッセージを書き込もうとしました. MQCC は「0」で、MQRC は「0」でした。

2012-12-17 19:26:53.832466 5756 UserTrace BIP2615I: WebSphere MQ 入力ノード 'Esql6_1Flow.MQInput' がメッセージをバックアウト リキューまたは送達不能キューにバックアウトしました。メッセージのバックアウト処理が呼び出されました。メッセージは、WebSphere MQ キュー マネージャーおよびキュー構成によって決定されるように、バックアウト リキューまたはデッド レター キューに書き込まれることによってバックアウトされました。ユーザーの操作は不要です。

2012-12-17 19:27:31.087949 4380 UserTrace BIP2632I: メッセージが受信され、MQ 入力ノード '.InputNode' の 'out' ターミナルに伝搬されました。

2012-12-17 19:27:31.088045 4380 UserTrace BIP6060I: ノード '.InputNode' に代わって作成されたパーサー タイプ ''Properties'' は、オフセット '0' で始まる長さ 0 バイトの着信メッセージの部分を処理します。

2012-12-17 19:27:31.088066 4380 UserTrace BIP6061I: ノード「.InputNode」に代わって作成されたパーサー タイプ「MQMD」は、オフセット「0」で始まる長さ「364」バイトの着信メッセージの部分を処理します。前のパーサーからの値 ''MQHMD'' に基づいて選択されたパーサー タイプ。

2012-12-17 19:27:31.088092 4380 UserTrace BIP6069W: ブローカーは、データ・タイプ「」のメッセージを処理できません。メッセージ ブローカは、タイプ「」のデータの処理を必要とするメッセージを受信しましたが、ブローカには、このタイプのデータを処理する機能がありません。メッセージ・ブローカーに送信されているメッセージとノードの構成データの両方を確認してください。メッセージがブローカーによって処理される場合は、サポートされていないデータ型への参照を削除する必要があります。

2012-12-17 19:27:31.088113 4380 UserTrace BIP6061I: ノード「.InputNode」に代わって作成されたパーサー タイプ「XMLS」は、オフセット「364」で始まる長さ「236」バイトの着信メッセージの部分を処理します。前のパーサーからの値''XMLS''に基づいて選択されたパーサー タイプ。

4

1 に答える 1

0

BACKOUT カウントは、フローがメッセージの処理を再試行する回数を決定します。ここでは、しきい値が 10 に設定されています。これは、フローが処理を 10 回試行し、それでも失敗した場合、MQInput ノードはメッセージをバックアウト キューまたは DLQ (バックアウト キューが構成されていない場合) に入れることを意味します。フローがバックアウト キューに入れるメッセージは 1 つだけで、期待どおりの 10 個のメッセージではありません。

メッセージが非トランザクション モードで処理される場合、フローはメッセージをバックアウト キューに入れません。MQInput ノードで Transactional プロパティーを「NO」として構成しているかどうかを確認してください。構成された値が「自動」の場合、メッセージはトランザクションで処理されるように永続的なものである必要があります。しかし、トレース スニペットは、メッセージが SYSTEM.DEAD.LETTER.QUEUE に置かれたことを示しています。メッセージが DLQ にあるかどうかを確認し、バックアウト キュー プロパティが入力ノードで正しく構成されていることを確認する必要がある場合があります。

http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/topic/com.ibm.etools.mft.doc/ac00414_.htmを読んで、 すべてのクエリに対処してください。

于 2012-12-18T05:45:04.473 に答える