Timeout Processing サンプルの実行

Timeout Processing サンプルには、以下のように個別に実行される 2 つの部分があります。

サンプルの実行時に問題を検出した場合は、 WebSphere Message Broker 資料の『サンプル実行時の問題の解決』を参照してください。

自動タイムアウト処理

AutomaticTimeout メッセージ・フローは、デプロイ後、自動的に実行されます。 メッセージは、ブローカーの実行中、10 秒ごとに TIMEOUT_SAMPLE_OUT_1 キューに出力されます。

制御されたタイムアウト処理

ControlledTimeout メッセージ・フローをデプロイした後、サンプル・メッセージを使用してこれを実行する必要があります。
  1. 「ブローカー開発」ビューで、「Timeout」メッセージ・フロー・プロジェクトを展開します。
  2. テスト・クライアントでファイルを開くには、SetTenTimeout.mbtest をダブルクリックします。
  3. テスト・クライアントで、「エンキュー」をクリックします。
  4. 「メッセージの送信」をクリックします。要求メッセージが TIMEOUT_SAMPLE_IN_1 キューに送信され、元のメッセージの 10 のコピーが 10 秒ごとに TIMEOUT_SAMPLE_OUT_2 キューに出力されます。

テストが完了したら、SetUnlimitedTimeout.mbtest ファイルを使ってこの手順を繰り返してください。 このアクションにより、制限なしの (終了しない) タイムアウト要求の入ったメッセージが TIMEOUT_SAMPLE_IN_2 キューに書き込まれ、元のメッセージのコピーが 10秒ごとに TIMEOUT_SAMPLE_OUT_2 キューに出力されます。 出力メッセージには、元の入力メッセージの断片 (最初の Invoice レコード) が含まれます。

制限なしのタイムアウト要求は、終了するよう命令されるまで実行されます。タイムアウト要求は、対応する取り消し要求で停止することができます。

  1. テスト・クライアントでファイルを開くには、CancelUnlimitedTimeout.mbtest をダブルクリックします。ファイルに入っているのは、SetUnlimitedTimeout.mbtest ファイルの制限なしのタイムアウト要求の取り消し要求だけです。
  2. 「メッセージの送信」をクリックします。メッセージは TIMEOUT_SAMPLE_OUT_2 キューに出力されなくなります。

さらに、10 回のタイムアウト要求も CancelTenTimeout.mbtest ファイルを使用して、同じ方法で停止することができます。

制限付きのタイムアウトと制限なしのタイムアウトは、両方のメッセージを一緒にフローに送り込むことによって、一緒に 実行できます。 制御されたノードは、それぞれが実行するたびにそれらを処理し、出力メッセージは TIMEOUT_SAMPLE_OUT_2 キューで 混合されます。 いずれかのタイムアウト要求の 2 つのインスタンスを一緒に実行することはできません。2 番目のインスタンスは、既存の要求を上書きしないため、TimeoutControl ノードでエラーを生成することになります。このアクションは、Timeout ノード一般の制限ではなく、このサンプルの制限です。サンプルの .mbtest ファイルのタイムアウト要求の ID がハードコーディングされています。

成功の検査

成功は TIMEOUT_SAMPLE_OUT_1 および TIMEOUT_SAMPLE_OUT_2 キューにメッセージが到着したかどうかによって判別します。最初のキューには AutomaticTimeout メッセージ・フローからのメッセージが入ります。メッセージは 10 秒ごとに出力され、メッセージ・フローが実行されている間、メッセージの出力が続きます。2 番目のキューには ControlledTimeout メッセージ・フローからのメッセージが入ります。要求の呼び出しの順序とタイミングに応じて、これらのメッセージはグループを成し、10 秒間隔で区切られます。

TIMEOUT_SAMPLE_OUT_1 キュー上のメッセージを表示するには、以下の手順に従ってください。

  1. テスト・クライアントでファイルを開くには、TIMEOUT_SAMPLE_OUT_1.mbtest をダブルクリックします。
  2. 「メッセージの取得」をクリックして、TIMEOUT_SAMPLE_OUT_1 キューからメッセージを読み取ります。

キュー上のメッセージとして、以下のようなメッセージが自動的に生成されます。

<TimeoutRequest>
 <Action>SET</Action>
 <Identifier>SampleAuto</Identifier>
 <StartDate>2007-08-31</StartDate>
 <StartTime>13:04:12.295</StartTime>
 <Count>3</Count>
 <Interval>10</Interval>
 <IgnoreMissed>true</IgnoreMissed>
 <AllowOverwrite>true</AllowOverwrite>
</TimeoutRequest>

TIMEOUT_SAMPLE_OUT_2 キュー上のメッセージを表示するには、以下の手順に従ってください。

  1. テスト・クライアントでファイルを開くには、TIMEOUT_SAMPLE_OUT_2.mbtest をダブルクリックします。
  2. 「メッセージの取得」をクリックして、TIMEOUT_SAMPLE_OUT_2 キューからメッセージを読み取ります。

TIMEOUT_SAMPLE_OUT_2 キュー上のメッセージには、入力メッセージ全体、またはそのごく一部が含まれます。

サンプルのホームに戻る