MQReply ノード

このトピックには、以下のセクションが含まれています。

目的

応答を入力メッセージの発信元に送信するには、MQReply ノードを使用します。 MQReply は、入力メッセージ・ヘッダーの「ReplyToQ」フィールドで識別される WebSphere MQ キューに出力メッセージを書き込む、MQOutput ノードの特殊な形式です。適切な場合には、キューを WebSphere MQ クラスター・キューまたは共有キューとして定義することができます。

MQReply ノードは、MQMD の「Report」フィールド内に設定されているオプションの制御を受けます。 デフォルトでは (オプションが設定されていない場合)、MQReply ノードは、応答メッセージ内に新しい MsgID と CorrelID を生成します。 受信アプリケーションではこれらのフィールドに他の値が必要である場合は、メッセージ・フロー入力キューにメッセージを書き込むアプリケーションが確実に必須のレポート・オプションを設定するようにするか、またはメッセージ・フロー中のメッセージ処理時に MQMD 内で確実に適切なオプションを設定するようにしてください。 例えば、メッセージに「Report」オプションを設定するには、Compute ノードを使用してください。

「Report」フィールドの詳細については、「WebSphere MQ」を参照してください。

ワークベンチでは、MQReply ノードは次のアイコンで表されます。

MQReply ノード・アイコン

メッセージ・フロー内でのこのノードの使用

このノードが使用される方法に関しては、次のサンプルを参照してください。

顧客から注文を受け取るときにこのノードを使用することが適切であるかもしれません。 注文メッセージが処理されると、注文の受け取りを確認し、送達可能日を通知する応答が顧客に送信されます。

MQReply ノードの構成

MQReply ノードのインスタンスをメッセージ・フローに入れると、MQReply ノードを構成することができます。 エディター・ビューでノードを右クリックし、「プロパティー」をクリックします。 ノードの基本プロパティーが表示されます。

値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、プロパティー・ダイアログにアスタリスクが表示されます。

以下のように、MQReply ノードを構成します。

  1. 適切な場合に WebSphere MQ がキュー・マネージャー内でメッセージをセグメントに分割するようにしたい場合には、「セグメント化可能」チェック・ボックスを選択します。 さらに、セグメンテーションが行われるように、MQMD の「MsgFlags」フィールドに MQMF_SEGMENTATION_ALLOWED を設定する必要があります。

    このプロパティーのマップ先のオプションの詳細については、「WebSphere MQアプリケーション・プログラミング・リファレンス」を参照してください。

  2. 出力メッセージ用の「持続モード」を選択します。
    • 「自動」(デフォルト) を選択すると、持続性は着信メッセージの指定どおりに設定されます。
    • 「はい」を選択すると、メッセージは持続的に書き込まれます。
    • 「いいえ」を選択すると、メッセージは非持続的に書き込まれます。
    • 「キューの定義どおり」を選択すると、メッセージ持続性は WebSphere MQ キューで定義されたとおりに設定されます。
  3. 出力メッセージ用の「トランザクション・モード」を選択します。
    • 「自動」(デフォルト) を選択すると、メッセージ・トランザクションは、MQInput ノードでの指定の仕方から導き出されます。
    • 「はい」を選択すると、メッセージはトランザクションとして書き込まれます。
    • 「いいえ」を選択すると、メッセージは非トランザクションとして書き込まれます。
  4. MRM パーサーの場合、メッセージ・セットから生成されたディクショナリーに対してメッセージ本体の妥当性検査を行いたいのであれば、プロパティー・ダイアログ・ナビゲーターの「妥当性検査」を選択します。 (メッセージがターミナルの failure ノードに伝搬される場合には、妥当性検査は行われません。)

    詳細については、メッセージの妥当性検査およびMRM ドメインのメッセージの妥当性検査プロパティーを参照してください。

  5. 簡略説明または詳細説明 (あるいはその両方) を入力するには、プロパティー・ダイアログ・ナビゲーターの「説明」を選択します。
  6. 「適用」をクリックすると、プロパティー・ダイアログを閉じずに MQReply ノードが変更されます。 「OK」をクリックすると、変更を適用してプロパティー・ダイアログを閉じます。

    「キャンセル」をクリックすると、ダイアログを閉じてプロパティーに対して行った変更をすべて破棄します。

応答メッセージは、(MQPUT を使用して) 入力メッセージ MQMD に「ReplyTo」キューという名前で書き込まれます。 この宛先は変更できません。

出力ターミナルを別のノードに接続する

メッセージをさらに処理したい場合、エラーを処理したい場合、あるいはメッセージを追加の宛先に送信したい場合は、このノードの out ターミナルまたは failure ターミナルをこのメッセージ・フローの別のノードに接続します。

これらの出力ターミナルの 1 つをメッセージ・フロー内の別のノードに接続すると、メッセージに関連した LocalEnvironment は拡張され、メッセージが送られた宛先ごとに以下の情報が追加されます。

  • キュー名
  • キュー・マネージャー名
  • メッセージ応答 ID (これはメッセージ ID と同じ値に設定されます)
  • メッセージ ID (MQMD から)
  • 相関 ID (MQMD から)

これらの値は、LocalEnvironment ツリー構造内の WrittenDestination に書き込まれます。

これらの out ターミナルのいずれかを接続しない場合には、LocalEnvironment ツリーは変更されません。

メッセージ・フローで集約を使用する場合には、これらの out ターミナルを使用する必要があります。

整合トランザクションの構成

MQReply ノードを定義するときに、「トランザクション・モード」プロパティーに選択する次のようなオプションで、メッセージを同期点下に書き込むかどうかを定義します。

  • 「はい」の場合、メッセージは同期点下 (WebSphere MQ 作業単位内) に書き込まれます。
  • 「自動」(デフォルト) の場合、メッセージは、着信入力メッセージに持続のマークが付けられているときに同期点下に書き込まれます。
  • 「いいえ」の場合、メッセージは同期点下に書き込まれません。

MQReply ノードのもう 1 つのプロパティー「持続モード」は、出力キューに出力メッセージを書き込むときに持続のマークを付けるかどうかを定義します。

  • 「はい」の場合は、メッセージに持続のマークが付けられます。
  • 「自動」(デフォルト) の場合、メッセージ持続性は、MQMD (WebSphere MQ メッセージ記述子) に設定された着信メッセージのプロパティーによって決定されます。
  • 「いいえ」の場合、メッセージには持続のマークが付けられません。
  • 「キューの定義どおり」の場合、メッセージ持続性は、MQMD に MQPER_PERSISTENCE_AS_Q_DEF オプションを指定する MQReply ノードによって定義される WebSphere MQ キューの定義どおりに設定されます。

ターミナルおよびプロパティー

MQReply ノード・ターミナルについては、次の表に説明されています。

ターミナル 説明
In ノードが処理するメッセージを受け入れる入力ターミナル。
Failure メッセージの出力キューへの書き込みに失敗した場合にメッセージがルーティングされる出力ターミナル。
Out 出力キューに正常に書き込まれた場合に、またはこのメッセージ・フロー内でさらに処理が必要な場合にメッセージがルーティングされる出力ターミナル。

以下の表でノードのプロパティーを説明します。M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、プロパティー・ダイアログにアスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを bar ファイルに追加してデプロイするとき、値を変更できます)。

MQReply ノードの「拡張」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
セグメント化可能 はい いいえ 選択されていない WebSphere MQ が必要に応じて、メッセージをキュー・マネージャーでいくつかのセグメントに分けます。 チェック・ボックスを選択すると、このアクションが実行されます。
持続モード はい いいえ 自動 メッセージを持続的に書き込むかどうか。 有効な値は、「自動」「はい」「いいえ」および「キューの定義どおり」です。
トランザクション・モード はい いいえ 自動 メッセージをトランザクションとして書き込むかどうか。 有効な値は、「自動」「はい」、および「いいえ」です。

MQReply ノードの妥当性検査プロパティーについては、次の表に説明されています。

これらのプロパティーの詳細については、MRM ドメインのメッセージの妥当性検査プロパティーを参照してください。

プロパティー M C デフォルト 説明
妥当性検査 はい はい 継承 妥当性検査が行われるかどうか。有効な値は、「なし」「内容と値」「内容」、 および「継承」です。
失敗処置 はい いいえ 例外 妥当性検査に障害が発生した場合の動作。 「妥当性検査」を「内容」または「内容と値」に設定した場合にのみ、このプロパティーを設定できます。 有効な値は、「ユーザー・トレース」「ローカル・エラー・ログ」「例外」、および「例外リスト」です。
すべての値制約を含める はい いいえ 選択されている このプロパティーは編集できません。 チェック・ボックスが選択されていることにより示されるデフォルトのアクションは、基本値制約検査が「内容と値」妥当性検査に含まれるということです。
修正 はい いいえ 「なし」 このプロパティーは編集できません。

MQReply ノードの「説明」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
簡略説明 いいえ いいえ   ノードの簡単な説明
詳細説明 いいえ いいえ   メッセージ・フロー内のノードの目的を説明するテキスト

また MQReply ノードには、ワークベンチ・インターフェースからアクセスまたは変更ができない次のプロパティーもあります。 しかし、これらの値は、メッセージ・フローでメッセージを処理する際にブローカーが使用します。

プロパティー 説明
キュー・マネージャー名 キュー名」に指定された出力キューを定義する WebSphere MQ キュー・マネージャーの名前。 この名前は、入力メッセージの MQMD の「ReplyTo」フィールドから取り出されます。
キュー名 出力メッセージが書き込まれる WebSphere MQ キューの名前。 この名前は、入力メッセージの MQMD の「ReplyTo」フィールドから取り出されます。
宛先 このプロパティーの値は常に「応答」です。
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ac04580_