MQOutput ノード

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

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

目的

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

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

MQOutput ノードを構成して、ブローカーのキュー・マネージャーからアクセス可能な任意のキュー・マネージャーに定義された特定の WebSphere MQ キューに、メッセージを書き込むことができます。

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

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

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

MQOutput ノードは、パレットの 「WebSphere MQ」ドロワーに含まれていて、ワークベンチ内では、次のアイコンによって表されます。

MQOutput ノード・アイコン

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

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

MQOutput ノードの構成

MQOutput ノードのインスタンスをメッセージ・フローに入れると、それを構成することができます。メッセージ・フロー・ノードの構成を参照してください。 ノードのプロパティーが、「プロパティー」ビューに表示されます。ノードのプロパティーを表示するには、ノードをダブルクリックするか、またはノードを右クリックしてから「プロパティー」をクリックします。

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

MQOutput ノードを構成します。

  1. オプション: 「説明」タブで、簡略説明、詳細説明、あるいはその両方を入力します。このページで、ノードを名前変更することもできます。
  2. 「基本」タブで以下のようにします。
    • このノードによって定義されている単一の宛先キューへ出力メッセージを送信する場合は、メッセージ・フローが送信するメッセージの送信先のキューの名前を「キュー名」に入力します。
    • キュー・マネージャー名」に、このキューが定義されているキュー・マネージャーの名前を入力します。「拡張」タブの「宛先モード」プロパティー (このセクションで後述) を「キュー名」に設定する場合は、これらのプロパティーを設定する必要があります。「宛先モード」を別の値に設定した場合は、これらのプロパティーは無視されます。
  3. 「拡張」タブのプロパティーは、メッセージのトランザクション制御と、メッセージをキューに入れる方法を定義します。 これらのプロパティーの多くは MQPUT 呼び出しのオプションにマップされます。
    • リストから「宛先モード」を選択します。 このプロパティーは、出力メッセージが書き込まれるキューを以下のように指定します。
      • キュー名 (デフォルト)。 メッセージは、「キュー名」プロパティーで指定されたキューに送信されます。 このオプションを選択した場合は、「基本」タブ上の「キュー・マネージャー名」プロパティーと「キュー名」プロパティーを指定する必要があります。
      • 応答先キュー。 メッセージは、MQMD の「ReplyToQ」フィールドで指定されたキューに送信されます。

        変更の始まりこのオプションを選択すると、MQOutput ノードは WebSphere MQ 応答メッセージを構成します。この状態で、MQOutput ノードおよび Root.MQMD フォルダーが使用する設定値に関する詳細は、WebSphere MQ 応答メッセージの内容を参照してください。変更の終わり

    • リストから「トランザクション・モード」を選択して、以下のように、メッセージを書き込む方法を決定します。
      • 「自動」(デフォルト) を選択すると、メッセージのトランザクション特性は、入力ノードで指定した仕方から導き出されます。
      • 「はい」を選択すると、メッセージはトランザクションとして書き込まれます。
      • 「いいえ」を選択すると、メッセージは非トランザクションとして書き込まれます。
      詳しくは、整合トランザクションの構成を参照してください。
    • リストから「持続モード」を選択して、以下のように、メッセージを持続的に書き込むかどうかを決定します。
      • 「自動」(デフォルト) を選択すると、持続性は着信メッセージの指定どおりに設定されます。
      • 「はい」を選択すると、メッセージは持続的に書き込まれます。
      • 「いいえ」を選択すると、メッセージは非持続的に書き込まれます。
      • 「キューの定義どおり」を選択すると、メッセージ持続性は WebSphere MQ キューの定義どおりに設定されます。
    • このメッセージの新しいメッセージ ID を生成するには、「新規メッセージ ID」を選択します。 このプロパティーは MQI の MQPMO の MQPMO_NEW_MSG_ID オプションにマップされます。

      新しい ID を生成する必要がない場合は、チェック・ボックスのチェックを外します。 「要求」タブで「要求」を選択した場合、新規メッセージ ID は引き続き生成されます。

      このプロパティーのマップ先のオプションの詳細については、WebSphere MQ バージョン 6 インフォメーション・センター・オンライン の「Application Programming Reference」のセクション、または WebSphere MQ ライブラリー Web ページ のバージョン 5.3 ブックを参照してください。

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

      このプロパティーのマップ先のオプションの詳細については、WebSphere MQ バージョン 6 インフォメーション・センター・オンライン の「Application Programming Reference」のセクション、または WebSphere MQ ライブラリー Web ページ のバージョン 5.3 ブックを参照してください。

    • 適切な場合に WebSphere MQ がキュー・マネージャー内でメッセージをセグメント化する場合には、「許可されているセグメント化」を選択します。 セグメント化が発生しないようにするには、チェック・ボックスのチェックを外します。 変更の始まりメッセージ・セグメンテーションの詳細については、WebSphere MQ メッセージ内のメッセージ・セグメントの送信を参照してください。変更の終わり

      このプロパティーのマップ先のオプションの詳細については、WebSphere MQ バージョン 6 インフォメーション・センター・オンライン の「Application Programming Reference」のセクション、または WebSphere MQ ライブラリー Web ページ のバージョン 5.3 ブックを参照してください。

    • 元のコンテキストの処理方法を指示するには、「メッセージ・コンテキスト」を選択します。以下のオプションのいずれかを選択します。
      • 「すべて渡す」は、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 バージョン 6 インフォメーション・センター・オンライン の「Application Programming Reference」のセクション、または WebSphere MQ ライブラリー Web ページ のバージョン 5.3 ブックを参照してください。

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

      新規メッセージ ID」チェック・ボックスが「拡張」タブで選択されていない場合でも、新規メッセージ ID が生成されます。

    • 応答先キュー・マネージャー」にキュー・マネージャー名を入力します。 この名前は、それぞれの出力メッセージの MQMD に応答先キュー・マネージャーとして挿入されます。
    • 応答先キュー」にキュー名を入力します。 この名前は、それぞれの出力メッセージの MQMD に応答先キューとして挿入されます。

ターミナルの接続

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

メッセージを追加の宛先に送信するために、このノードの Out ターミナルまたは Failure ターミナルをこのメッセージ・フローの別のノードに接続します。

変更の始まり

WebSphere MQ 応答メッセージの内容

以下のように設定されます。
  • MQMD 中の以下のフィールドの値は、ユーザーの行った設定とは無関係に、以下のように設定されます。
      MQMD.Report = 0;
      MQMD.PutApplType = MQAT_BROKER;
      MQMD.PutDate = Taken from current Timestamp
      MQMD.PutTime = Taken from current Timestamp
      MQMD.PutApplName = MsgTree.MQMD.ReplyToQMgr (first 28 chars)  
  • 以下のフィールドの値は、Root.MQMD フォルダー中の値から設定されます。
      MQMD.Version
      MQMD.Format
      MQMD.Priority
      MQMD.Persistence
      MQMD.Expiry
      MQMD.Encoding
      MQMD.CodedCharSetId
      MQMD.GroupId
      MQMD.MsgSeqNumber
      MQMD.Offset
      MQMD.MsgFlags
      MQMD.OriginalLength
  • MQMD 中の以下の値は、MQOutput ノードおよび Root.MQMD フォルダー中の値に基づき、条件に応じて次のように設定されます。
      IF MsgTree.MQMD.MsgType = MQMT_REQUEST THEN                       
        MQMD.MsgType = MQMT_REPLY;                                      
      IF Nodes Message Context is Default, PassAll or PassIdentity THEN 
        MQMD.UserIdentifer = MsgTree.MQMD.UserIdentifier;               
      IF MsgTree.MQMD.Report contains MQRO_PASS_CORREL_ID THEN          
        MQMD.CorrelId = MsgTree.MQMD.CorrelId;                          
      ELSE
        MQMD.CorrelId = MsgTree.MQMD.MsgId;                       
      IF MsgTree.MQMD.Report contains MQRO_PASS_MSG_ID THEN             
        MQMD.MsgId = MsgTree.MQMD.MsgId;                                
      ELSE
        MQMD.MsgId = MQMI_NONE;  
  • MQMD.Persistence フィールドの値は、MQOutput ノードの「持続性」モードに基づいて設定されます。

出力 MQMD 構造が構成されると、MQOutput ノードの「メッセージ・コンテキスト」は無視され、動作は「すべて設定」と同じになります。

指定変更される値は、出力 MQMD 構造の中でのみ変更されます。メッセージ・ツリー中の MQMD フォルダーは更新されません。

変更の終わり

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

MQOutput ノードを定義するときに、「トランザクション・モード」プロパティーに選択する次のようなオプションで、メッセージを同期点下に書き込むかどうかを定義します。
  • 「はい」を選択した場合、メッセージは同期点下 (WebSphere MQ 作業単位内) に書き込まれます。
  • 「自動」(デフォルト) を選択した場合、メッセージは、着信入力メッセージに持続のマークが付けられているときに同期点下に書き込まれます。
  • 「いいえ」を選択すると、メッセージは同期点の下に書き込まれません。
MQOutput ノードのもう 1 つのプロパティー「持続モード」は、出力キューに出力メッセージを書き込むときに持続のマークを付けるかどうかを定義します。
  • 「はい」を選択した場合、メッセージに持続のマークが付けられます。
  • 「自動」(デフォルト) を選択した場合、メッセージ持続性は、MQMD に設定された着信メッセージのプロパティーによって決定されます。
  • 「いいえ」を選択した場合、メッセージには持続のマークが付けられません。
  • 「キューの定義どおり」を選択した場合、メッセージ持続性は、MQMD に MQPER_PERSISTENCE_AS_Q_DEF オプションを 指定する MQOutput ノードによって定義される WebSphere MQ キューの定義どおりに設定されます。

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

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

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

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

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

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

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 キューの名前。
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009. All Rights Reserved.
最終更新 : 2009-02-13 10:22:52

ac04570_