MQGet ノードは、受信したメッセージをすべて処理します。
このトピックには、以下のセクションが含まれています。
メッセージの伝搬
- MQ メッセージ記述子ヘッダー (MQMD) が入力ツリー内にある場合、MQGet ノードはそれを使用します。 ない場合には、ノードはデフォルトの MQMD を作成します。
- ノードはまた、ノード・プロパティーに設定されている値に基づいて、デフォルトの MQ メッセージ取得オプション (MQGMO) 構造も作成します。
MQGMO が入力ツリー内にある場合、ノードはその内容を使用してデフォルトを変更します。
MQGMO を組み込み、デフォルトを指定変更する場合、置き換えるすべてのオプションを指定する必要があります。 例えば、このオプション・フィールドを MQGMO_CONVERT に設定すると、
WebSphere® Message
Broker Toolkit によって設定されたすべてのオプションがこの値によって指定変更されます。 指定変更する MQGMO を使用しないと、
WebSphere Message
Broker では以下の値が使用されます。
- 「待機間隔」がゼロ以外の場合は MQGMO_WAIT が設定され、ゼロの場合には MQGMO_NOWAIT が使用されます。
- 「トランザクション・モード」が「はい」に設定されると、MQGMO_SYNCPOINT が使用されます。
- 「トランザクション・モード」が「いいえ」に設定されると、MQGMO_NOSYNCPOINT が使用されます。
- 「トランザクション・モード」が「自動」に設定されると、MQGMO_SYNCPOINT_IF_PERSISTENT が使用されます。
- ノード・プロパティーでデフォルトで使用されるその他のオプションは MQGMO_COMPLETE_MSG だけです。「トランザクション・モード」が「はい」または「いいえ」に設定されると、このオプションが設定されます。このオプションは、ブローカーが z/OS® で実行される場合には設定されません。
- デフォルトで使用されるその他のオプションはありません。
- ノードは、WebSphere MQ に対して MQGet 呼び出しを行います。
- ノードは完了コード (CC) を分析して、以下のようにメッセージを適切なターミナルに伝搬します。
- OK
- ノードは、標準のメッセージ解析技法を用いて、出力 LocalEnvironment と出力メッセージ・ツリーを作成してから、メッセージを Out ターミナルに伝搬します。
- Warning
- ノードは、BLOB をメッセージ本体タイプとして用いて、出力 LocalEnvironment と出力メッセージ・ツリーを作成してから、メッセージを Warning ターミナル (接続されている場合) に伝搬します。 Warning ターミナルが接続されていない場合、伝搬は行われずにフローは終了します。
- Fail (メッセージなし)
- ノードは、入力ツリーをコピーすることによって、出力 LocalEnvironment と出力メッセージ・ツリーを作成してから、メッセージを No Message ターミナル (接続されている場合) に伝搬します。 No Message ターミナルが接続されていない場合、伝搬は行われません。 No Message ターミナルに伝搬される出力メッセージは、「生成モード」プロパティー、「メッセージのコピー」または「ローカル環境のコピー」プロパティーの値に従って、入力メッセージのみで構成されます。
- Fail (その他)
- ノードは、メッセージを Failure ターミナルに伝搬します。 Failure ターミナルに接続していない場合は、ブローカーが例外をスローし、その例外を処理できる直近のアップストリーム・ノードに制御を戻します。 詳しくは、メッセージ・フローのエラー処理を参照してください。
以下の図は、この処理を示しています。

OutputLocalEnvironment の構成
- MQGet ノードの「生成モード」プロパティーを、「LocalEnvironment」が含まれないオプションに設定すると、このノードは、入力ローカル環境ツリーを出力ローカル環境ツリーにコピーします。
このコピーが行われる場合には、出力ローカル環境ツリーに対してこのノードで行われる更新はダウンストリームに伝搬されません。
- 「ローカル環境のコピー」プロパティーが「なし」以外のオプションに設定されている場合、ノードは入力ローカル環境ツリーを出力ローカル環境ツリーにコピーします。
- 出力データ位置が出力ローカル環境ツリーを指す場合、ノードはそのツリー内の変更内容を結果ツリーからコピーすることによって適用します。
- ローカル環境ツリーが伝搬されます。
以下の図は、この処理を示しています。

出力メッセージを構成する
- MQGet ノードの「生成モード」プロパティーを、「メッセージ」が含まれないオプションに設定すると、このノードは、入力メッセージ・ツリーを出力メッセージ・ツリーにコピーします。 ステップ 5 に進みます。
- 「出力データのロケーション」プロパティーを OutputRoot に設定すると、ノードは、結果ツリーから出力メッセージ・ツリー全体を作成します。 ステップ 5 に進みます。
- 「メッセージのコピー」プロパティーが「なし」以外の値に設定されている場合、ノードは入力メッセージ・ツリーを出力メッセージ・ツリーにコピーします。
- 「出力データのロケーション」プロパティーが、出力メッセージ・ツリーの一部を指している場合、ノードは、そのツリー内での変更を、「結果データのロケーション」プロパティーで定義されている地点で結果ツリーからコピーすることによって適用します。
- メッセージ・ツリーが伝搬されます。
以下の図は、この処理を示しています。

この処理をメッセージ・フロー内でインプリメントする方法の例は、MQGet ノードを使用する要求-応答シナリオを参照してください。