タイムアウトに依存するメッセージ・フローを管理するには、TimeoutNotification ノードを使用します。
このトピックには、以下のセクションが含まれています。
TimeoutNotification ノードは、以下の 2 つの方法で使用可能な入力ノードです。
TimeoutNotification ノードは、 対になっている TimeoutControl ノードによって送信された タイムアウト要求メッセージを処理して、メッセージ (または選択されたメッセージのフラグメント) の コピーをメッセージ・フロー内の次のノードに伝搬します。
生成されるメッセージは、このノードの構成に指定された時間間隔でメッセージ・フロー内の次のノードに伝搬されます。
TimeoutNotification ノードはパレットの「タイマー」ドロワーに含まれていて、ワークベンチ内では次のアイコンによって表されます。
イベントが特定の時期にまたは一定の間隔で生じるようにする必要のあるアプリケーションでは、 TimeoutControl ノードと TimeoutNotification ノードをメッセージ・フロー内で一緒に使用します。 たとえば、バッチ・ジョブを毎日深夜に実行する場合や、通貨の為替レートに関する情報を 1 時間ごとに銀行に送信する場合などです。
複数の TimeoutControl ノードを 1 つの TimeoutNotification ノードと一緒に使用できます。
そのような複数の TimeoutControl ノードによって開始されたタイムアウト要求は、同じ固有 ID が TimeoutNotification ノードおよび各 TimeoutControl ノードに対して使用されている場合、
同一の TimeoutNotification ノードによってすべて処理されます。
ただし、複数の TimeoutNotification ノードで同じ固有 ID を使用しないでください。
ブローカーが開始された結果として、またはノードの含まれているメッセージ・フローが開始することによって、 TimeoutNotification ノードが開始されるとき、 それはその内部タイムアウト・ストアをスキャンして、非持続タイムアウト要求をすべてパージします。 経過済みであり、IgnoreMissed プロパティーが「False」に設定された持続タイムアウト要求に対しては、通知が発行されます。
CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN 'MQMD'; SET OutputRoot.MQMD.Version = MQMD_CURRENT_VERSION; SET OutputRoot.MQMD.Format = 'XML';
TimeoutNotification ノードのインスタンスをメッセージ・フローに入れると、それを構成することができます。メッセージ・フロー・ノードの構成を参照してください。 ノードのプロパティーが、「プロパティー」ビューに表示されます。ノードのプロパティーを「プロパティー」ダイアログに表示するには、ノードをダブルクリックするか、またはノードを右クリックしてから「プロパティー」をクリックします。 値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、アスタリスクが表示されます。
TimeoutNotification ノードのターミナルについては、次の表に説明されています。
ターミナル | 説明 |
---|---|
Failure | このノード内の処理で障害が検出された場合に、メッセージが伝搬される出力ターミナル。 ノードをこのターミナルに接続して、これらの障害を処理することができます。 このターミナルが他のノードに接続されていない場合、メッセージは伝搬されません。 また、データのロギングまたは安全な保管は生じません。 |
Out | タイムアウトの満了後に、メッセージが伝搬される出力ターミナル。
|
Catch | 例外がダウンストリームでスローされた場合にメッセージが伝搬される出力ターミナル。
このターミナルが他のノードに接続されていない場合、以下のイベントが生じます。
|
以下の表は、ノード・プロパティーについて説明しています。 M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、アスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを BAR ファイルに追加してデプロイするとき、値を変更できます)。
TimeoutNotification ノードの「説明」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
ノード名 | いいえ | いいえ | ノード・タイプ: TimeoutNotification | ノードの名前。 |
簡略説明 | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |
TimeoutNotification ノードの基本プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
固有 ID | はい | はい | なし | このプロパティーは、ブローカー内で固有であり、このノードと組み合された TimeoutControl ノード (存在する場合) に指定された ID と同じ値を指定します。
この ID の最大長は 12 文字です。
|
トランザクション・モード | いいえ | いいえ | はい | ノードのトランザクション・モードです。
トランザクション・モードが「自動」の場合、
トランザクションは、対になっている TimeoutControl ノードの「要求の持続性」プロパティーによって制御される保管されたメッセージのタイムアウト要求の持続性を基にします。
このプロパティーを以下の値のうちの 1 つに設定することができます。
|
動作モード | いいえ | いいえ | 自動 | このプロパティーは、このノードが組み合されている TimeoutControl ノードと対になっているかどうかを示します。
有効な値は以下のとおりです。
|
タイムアウト間隔 | いいえ | いいえ | 1 | タイムアウト要求の間隔 (秒数)。 このプロパティーが関係するのは、「動作モード」が 「自動」に設定されている場合だけです。 |
TimeoutNotification ノードのパーサー・オプションのプロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
構文解析のタイミング | いいえ | いいえ | 要求時 | このプロパティーは、タイムアウト・メッセージをいつ解析するかを制御します。
有効な値は、「要求時」、「即時」、および「完全」です。
デフォルトで、このプロパティーは「要求時」に設定されます。これにより、部分構文解析によって構文解析されるまで、妥当性検査が遅延します。この値を「即時」に変更すると、 部分構文解析はオーバーライドされて、メッセージ内のすべてのものが構文解析および妥当性検査されます。 ただし、構成が「選択」または「メッセージ」に指定された複合タイプで、この時点で解決できないものは除きます。 この値を「完全」に変更すると、 部分構文解析はオーバーライドされて、メッセージ内のすべてのものが構文解析および妥当性検査されます。 構成が「選択」または「メッセージ」に指定された複合タイプで、この時点で解決できないものでは妥当性検査障害が生じます。 |
MQRFH2C コンパクト・パーサーを MQRFH2 ドメインに使用 | いいえ | いいえ | 選択されていない | このプロパティーは、MQRFH2 パーサーの代わりに、MQRFH2C コンパクト・パーサーを MQRFH2 ヘッダーに使用するかどうかを制御します。 |
XMLNSC コンパクト・パーサーを XMLNS ドメインに使用 | いいえ | いいえ | 選択されていない | このプロパティーは、XMLNS ドメイン内のメッセージに XMLNSC コンパクト・パーサーを使用するかどうかを制御します。 このプロパティーを設定すると、入力 RFH2 ヘッダーまたはデフォルト・プロパティー・ドメインが XMLNS の場合、出力ターミナルに接続されているノードの XMLNSC の下にメッセージ・データが表示されます。 |
混合内容の保存 | いいえ | いいえ | なし | このプロパティーは、XMLNSC パーサーがタイムアウト・メッセージ内で混合テキストを検出したときに、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、混合テキスト用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、混合テキストは無視されて、エレメントは作成されません。 |
コメントの保存 | いいえ | いいえ | なし | このプロパティーは、XMLNSC パーサーがタイムアウト・メッセージ内でコメントを検出したときに、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、コメント用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、コメントは無視されて、エレメントは作成されません。 |
処理命令の保存 | いいえ | いいえ | なし | このプロパティーは、XMLNSC パーサーがタイムアウト・メッセージ内で処理命令を検出したときに、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、処理命令用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、処理命令は無視されて、エレメントは作成されません。 |
TimeoutNotification ノードの「妥当性検査」プロパティーについては、次の表に説明されています。
メッセージがノードの Failure ターミナルに伝搬される場合には、妥当性検査は行われません。 詳しくは、メッセージの妥当性検査および妥当性検査プロパティーを参照してください。プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
妥当性検査 | いいえ | はい | なし | このプロパティーは、妥当性検査を行うかどうかを制御します。 有効な値は、「なし」、「内容」、および「内容と値」です。 |
失敗時の処置 | いいえ | いいえ | 例外 | このプロパティーは、妥当性検査が失敗した場合の動作を制御します。 「妥当性検査」を「内容」または「内容と値」に設定した場合にのみ、このプロパティーを設定できます。有効な値は、「ユーザー・トレース」、「ローカル・エラー・ログ」、「例外」、および「例外リスト」です。 |
すべての値制約を含める | いいえ | いいえ | 選択されている | このプロパティーは編集できません。このチェック・ボックスを選択すると、基本値制約検査が「内容と値」妥当性検査に含まれます。 |
いいえ | いいえ | なし | このプロパティーは編集できません。 |