MQOutput ノード

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

目的

WebSphere MQ Enterprise Transport を使用してブローカーに接続し、MQI および AMI アプリケーション・プログラミング・インターフェースを使用するクライアントへメッセージを送信するには、MQOutput ノードを使用します。

MQOutput ノードは、出力メッセージをメッセージ・フローから WebSphere MQ キューに送達します。 このノードは、MQPUT を使用して、指定する宛先キュー (複数も可) にメッセージを書き込みます。

適切な場合には、キューを WebSphere MQ クラスター・キューまたは共有キューとして定義することができます。 WebSphere MQ クラスター・キューを使用する場合には、キュー・マネージャー名を空にしておいてください。

MQOutput ノードを構成して、ブローカーのキュー・マネージャーからアクセス可能な任意のキュー・マネージャーに定義された特定の WebSphere MQ キューに、またはメッセージに関連付けられた LocalEnvironment (DestinationList としても知られる) で識別される宛先に、メッセージを書き込むことができます。

ほかのプロパティーを設定すると、適切な MQPUT オプションを設定できるので、メッセージを受け取る方法を制御できます。 例えば、メッセージをトランザクション制御下で処理するように要求できます。 さらに WebSphere MQ が必要に応じて、メッセージをキュー・マネージャーでいくつかのセグメントに分けるように指定できます。

サブフローとして使用するメッセージ・フローを作成する場合には、標準出力ノードを使用することはできず、出力ノードのインスタンスを使用して、メッセージを伝搬するサブフロー用の out ターミナルを作成する必要があります。

メッセージ・フローでメッセージを WebSphere MQ キューに送信したくない場合には、サポートされる別の出力ノードを選択できます。

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

MQOutput ノード・アイコン

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

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

このノードの使用方法を示す例として、定期的に株価の更新をパブリッシュするようなパブリッシング・アプリケーションを作成したと仮定します。 アプリケーションは MQInput ノード上のブローカーにメッセージを送信し、メッセージ・フローは Publication ノードを通して、パブリケーションを複数のサブスクライバーに対して使用可能にします。 特定の株式に変更が生じるたびに新しい出力メッセージを作成するよう Compute ノードを構成し、これを MQOutput ノードに接続して、この株式の価格に変動が生じるたびにこれを記録します。

MQOutput ノードの構成

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

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

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

  1. このノードによって定義されている単一の宛先キューへ出力メッセージを送信する場合は、メッセージ・フローが送信するメッセージの送信先のキューの名前を「キュー名」に入力します。 「キュー・マネージャー名」に、このキューが定義されているキュー・マネージャーの名前を入力します。「拡張」プロパティーの「宛先モード」(後述) を「キュー名」に設定する場合は、これらのプロパティーを設定する必要があります。「宛先モード」を別の値に設定した場合は、これらのプロパティーは無視されます。
  2. プロパティー・ダイアログ・ナビゲーターで、「拡張」を選択します。これらのプロパティーは、メッセージのトランザクション制御と、メッセージをキューに入れる方法を定義します。これらのプロパティーの多くは、MQPUT 呼び出しのオプションにマップされます。
    • ドロップダウン・リストから「宛先モード」を選択します。 これにより、出力メッセージが書き込まれるキューが示されます。
      • キュー名。メッセージは、「キュー名」プロパティーで指定されたキューに送信されます。このオプションを選択した場合は、「キュー・マネージャー名」プロパティーと「キュー名」プロパティー (「基本」タブ上) を指定する必要があります。これはデフォルトです。
      • キューへの応答。 メッセージは、MQMD の「ReplyToQ」フィールドで指定されたキューに送信されます。
      • 宛先リスト。 メッセージは、そのメッセージに関連付けられている LocalEnvironment (DestinationList とも呼ばれる) に指定されたキューのリストへ送られます。
    • ドロップダウン・リストから「トランザクション・モード」を選択して、メッセージを書き込む方法を決定します。
      • 「自動」(デフォルト) を選択すると、メッセージ・トランザクションは、入力ノードでの指定の仕方から導き出されます。
      • 「はい」を選択すると、メッセージはトランザクションとして書き込まれます。
      • 「いいえ」を選択すると、メッセージは非トランザクションとして書き込まれます。
      詳しくは、整合トランザクションの構成を参照してください。
    • ドロップダウン・リストから「持続モード」を選択して、メッセージを持続的に書き込むかどうかを決定します。
      • 「自動」(デフォルト) を選択すると、持続性は着信メッセージの指定どおりに設定されます。
      • 「はい」を選択すると、メッセージは持続的に書き込まれます。
      • 「いいえ」を選択すると、メッセージは非持続的に書き込まれます。
      • 「キューの定義どおり」を選択すると、メッセージ持続性は WebSphere MQ キューの定義どおりに設定されます。
    • このメッセージの新しいメッセージ ID を生成するには、「新規メッセージ ID」チェック・ボックスを選択します。これは MQI の MQPMO の MQPMO_NEW_MSG_ID オプションにマップされます。

      新しい ID を生成する必要がない場合は、チェック・ボックスのチェックを外します。 プロパティー・ダイアログの「要求」パネルで「要求」チェック・ボックスを選択した場合、新規メッセージ ID は引き続き生成されることに注意してください。

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

    • このメッセージの新しい相関 ID を生成するには、「新規相関 ID」チェック・ボックスを選択します。これは MQI の MQPMO の MQPMO_NEW_CORREL_ID オプションにマップされます。新しい ID を生成する必要がない場合は、チェック・ボックスのチェックを外します。

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

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

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

    • 元のコンテキストの処理方法を指示するには、「メッセージ・コンテキスト」を選択します。以下のオプションのいずれかを選択します。
      • 「すべて渡す」 (MQI の MQPMO の MQPMO_PASS_ALL_CONTEXT オプションにマップされます。)
      • 「ID を渡す」 (MQI の MQPMO の MQPMO_PASS_IDENTITY_CONTEXT オプションにマップされます。)
      • 「すべてを設定する」 (MQI の MQPMO の MQPMO_SET_ALL_CONTEXT オプションにマップされます。)
      • 「ID を設定する」 (MQI の MQPMO の MQPMO_SET_IDENTITY_CONTEXT オプションにマップされます。)
      • 「デフォルト」 (MQI の MQPMO の MQPMO_DEFAULT_CONTEXT オプションにマップされます。)
      • 「なし」 (MQI の MQPMO の MQPMO_NO_CONTEXT オプションにマップされます。)

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

    • MQI のオープン・オプション (MQOO) に MQOO_ALTERNATE_USER_AUTHORITY オプションを設定したい場合は、「代替ユーザー権限」チェック・ボックスを選択します。 このボックスを選択する場合は、キューを出力のために開く時にこのオプションを指定します。 代替ユーザー情報は、メッセージのコンテキスト情報から取り出されます。 代替ユーザー権限を指定しない場合は、チェック・ボックスのチェックを外します。 ボックスのチェックを外すと、メッセージが書き込まれる時にブローカー・サービス・ユーザー ID が使用されます。
  3. プロパティー・ダイアログ・ナビゲーターで「要求」を選択し、プロパティーを設定して、生成された各出力メッセージの特性を定義します。
    • MQMD 内の各出力メッセージに要求メッセージ (MQMT_REQUEST) のマークを付け、WebSphere MQ が新しい ID を確実に生成するようにメッセージ ID フィールドをクリアする (MQMI_NONE に設定する) には、「要求」チェック・ボックスを選択します。 すべての出力メッセージが要求メッセージとしてマークされないように指示するには、このチェック・ボックスのチェックを外します。 「キューへ応答」の「宛先モード」を選択した場合は、このチェック・ボックスを選択できません。

      新規メッセージ ID」チェック・ボックスがプロパティー・ダイアログ・ナビゲーターの「拡張」パネルで選択されていない場合でも、新規メッセージ ID が生成されることに注意してください。

    • 応答先キュー・マネージャー」にキュー・マネージャー名を入力します。 これは、それぞれの出力メッセージの MQMD に応答先キュー・マネージャーとして挿入されます。
    • 応答先キュー」にキュー名を入力します。 これは、それぞれの出力メッセージの MQMD に応答先キューとして挿入されます。
  4. MRM パーサーの場合、メッセージ・セットから生成されたディクショナリーに対してメッセージ本体の妥当性検査を行いたいのであれば、プロパティー・ダイアログ・ナビゲーターの「妥当性検査」を選択します。 (メッセージがターミナルの failure ノードに伝搬される場合には、妥当性検査は行われません。)

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

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

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

ターミナルの接続

in ターミナルを、ルーティングされるアウトバウンド・メッセージの元になるノードに接続します。

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

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

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

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

いずれかのターミナルを接続しないと、LocalEnvironment ツリーは変更されません。

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

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

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

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

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

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

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

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

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

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

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

プロパティー M C デフォルト 説明
キュー・マネージャー名 いいえ はい   キュー名」に指定された出力キューを定義する WebSphere MQ キュー・マネージャーの名前。
キュー名 いいえ はい   このノードがメッセージを書き込む (MQPUT を使用して) WebSphere MQ 出力キューの名前。

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

プロパティー M C デフォルト 説明
宛先モード はい いいえ キュー名 出力メッセージの送信先のキュー。有効な値は、「宛先リスト」「キューへの応答」、および「キュー名」です。
トランザクション・モード はい いいえ 自動 メッセージをトランザクションとして書き込むかどうか。 有効な値は、「自動」「はい」、および「いいえ」です。
持続モード はい いいえ 自動 メッセージを持続的に書き込むかどうか。 有効な値は、「自動」「はい」「いいえ」および「キューの定義どおり」です。
新規メッセージ ID はい いいえ 選択されていない WebSphere MQ が新しいメッセージ ID を生成して、MQMD の MsgId フィールドの内容を置き換えるかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。
新規相関 ID はい いいえ 選択されていない WebSphere MQ が新しい相関 ID を生成して、MQMD の CorrelId フィールドの内容を置き換えるかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。
セグメント化可能 はい いいえ 選択されていない WebSphere MQ が必要に応じて、メッセージをキュー・マネージャーでいくつかのセグメントに分けます。 チェック・ボックスを選択すると、このアクションが実行されます。
メッセージ・コンテキスト はい いいえ すべて渡す 元のコンテキストの処理方法。有効な値は、「すべて渡す」「ID を渡す」「すべてを設定する」「ID を設定する」および「デフォルト」です。
代替ユーザー権限 はい いいえ 選択されていない 出力メッセージを書き込む時に代替権限を使用するかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。

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

プロパティー M C デフォルト 説明
要求 はい いいえ 選択されていない 要求メッセージとしてそれぞれの出力メッセージを生成するかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。
応答先キュー・マネージャー いいえ はい   応答先キュー」に指定された出力キューを定義する WebSphere MQ キュー・マネージャーの名前。
応答先キュー いいえ はい   この要求に対する応答が置かれる WebSphere MQ キューの名前。

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

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

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

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

プロパティー M C デフォルト 説明
簡略説明 いいえ いいえ   ノードの簡単な説明
詳細説明 いいえ いいえ   メッセージ・フロー内のノードの目的を説明するテキスト
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ac04570_