Timeout Processing サンプルには、以下のように個別に実行される 2 つの部分があります。
AutomaticTimeout メッセージ・フローをデプロイしたなら、これを実行するために行う必要のあることはもう何もありません。その名前が示すように、このメッセージ・フローは自動的に実行されるからです。 メッセージは、ブローカーの実行中、10 秒ごとに TIMEOUT_SAMPLE_OUT_1 キューに出力されます。
テストが完了したら、SetUnlimitedTimeout.enqueue ファイルを使ってこの手順を繰り返してください。 これにより、制限なしの (終了しない) タイムアウト要求の入ったメッセージが TIMEOUT_SAMPLE_IN_2 キューに書き込まれ、元のメッセージのコピーが 10 秒ごとに TIMEOUT_SAMPLE_OUT_2 キューに出力されます。 出力メッセージには、元の入力メッセージの断片 (最初の <Invoice> レコード) が含まれます。
制限なしのタイムアウト要求は、終了するよう命令されるまで実行されます。タイムアウト要求は、対応する取り消し要求で停止することができます。
さらに、10 回のタイムアウト要求も CancelTenTimeout.enqueue ファイルを使用して、同じ方法で停止することができます。
制限付きのタイムアウトと制限なしのタイムアウトは、両方のメッセージを一緒にフローに送り込むことによって、一緒に 実行できます。 「制御された」ノードは、それぞれが ping するたびにそれらを処理し、出力メッセージは TIMEOUT_SAMPLE_OUT_2 キューで 混合されます。 いずれかのタイムアウト要求の 2 つのインスタンスを一緒に実行することはできません。2 番目のインスタンスは、既存の要求を上書きしないため、Timeout Control ノードでエラーを生成することになります。これは、Timeout ノード一般の制限ではなく、このサンプルの制限であることに注意してください。サンプルのエンキュー・ファイルのタイムアウト要求の ID がハードコーディングされているためです。
TIMEOUT_SAMPLE_OUT_1 キュー上のメッセージを表示するには、以下の手順に従ってください。
<TimeoutRequest>
<Action>SET</Action>
<Identifier>SampleAuto</Identifier>
<StartDate>2005-06-06</StartDate>
<StartTime>12:36:44.900</StartTime>
<Count>5</Count>
<Interval>10</Interval>
<IgnoreMissed>TRUE</IgnoreMissed>
<AllowOverwrite>TRUE</AllowOverwrite>
</TimeoutRequest>
TIMEOUT_SAMPLE_OUT_2 キュー上のメッセージの表示も同じ方法で行います。これには入力メッセージ全体か、入力メッセージのごく一部のいずれかが含まれます。