MQOutput ノード

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

目的

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

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

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

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

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

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

  • MQReply
  • MQeOutput
  • SCADAOutput
  • Publication
  • ユーザー定義出力ノード

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

MQOutput ノード・アイコン

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

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

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

MQOutput ノードの構成

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

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

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

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

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

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

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

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

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

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

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

    • MQI のオープン・オプション (MQOO) に MQOO_ALTERNATE_USER_AUTHORITY オプションを設定したい場合は、「代替ユーザー権限 (Alternate User Authority)」チェック・ボックスを選択します。 このボックスを選択する場合は、キューを出力のために開く時にこのオプションを指定します。 代替ユーザー情報は、メッセージのコンテキスト情報から取り出されます。 代替ユーザー権限を指定しない場合は、チェック・ボックスのチェックを外します。 ボックスのチェックを外すと、メッセージが書き込まれる時にブローカー・サービス・ユーザー ID が使用されます。
  3. プロパティー・ダイアログ・ナビゲーターで「要求 (Request)」を選択し、プロパティーを設定して、生成された各出力メッセージの特性を定義します。
    • MQMD 内の各出力メッセージに要求メッセージ (MQMD_REQUEST) のマークを付け、WebSphere MQ が新しい ID を確実に生成するようにメッセージ ID フィールドをクリアする (MQMI_NONE に設定する) には、「要求 (Request)」チェック・ボックスを選択します。 すべての出力メッセージが要求メッセージとしてマークされないように指示するには、このチェック・ボックスのチェックを外します。 「キューへ応答 (Reply To Queue)」「宛先モード (Destination Mode)」を選択した場合は、このチェック・ボックスを選択できません。
    • 「応答先キュー・マネージャー (Reply-to queue manager)」にキュー・マネージャー名を入力します。 これは、それぞれの出力メッセージの MQMD に応答先キュー・マネージャーとして挿入されます。
    • 「応答先キュー (Reply-to queue)」にキュー名を入力します。 これは、それぞれの出力メッセージの MQMD に応答先キューとして挿入されます。
  4. 簡略説明または詳細説明 (あるいはその両方) を入力するには、プロパティー・ダイアログ・ナビゲーターの「説明 (Description)」を選択します。
  5. 「適用」をクリックすると、プロパティー・ダイアログを閉じずに MQOutput ノードが変更されます。 「OK」をクリックすると、変更を適用してプロパティー・ダイアログを閉じます。

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

ターミナルの接続

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

関連概念
WebSphere MQ Enterprise Transport
メッセージ・フロー
LocalEnvironment ツリー
ユーザー定義拡張機能
メッセージ・フロー・アプリケーションのデプロイメント

関連タスク
使用するノードの決定
整合されたメッセージ・フローの構成
メッセージ・フローのエラー処理
入出力に WebSphere MQ クラスター・キューを使用する
入出力に WebSphere MQ 共用キューを使用する (z/OS)
宛先リストの作成
集約フローの構成
構成可能プロパティーの編集

関連資料
MQeOutput ノード
MQInput ノード
MQReply ノード
Output ノード
SCADAOutput ノード

WebSphere MQ ライブラリー Web ページ (WebSphere MQ library Web page)