WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

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 ノードは、メッセージ・ツリーに MQMD (WebSphere MQ メッセージ記述子) ヘッダーがあるかどうかを確認します。 MQMD ヘッダーがない場合は、MQOutput ノードはメッセージ・ツリーに MQMD ヘッダーを作成し、これに MQMD デフォルト・プロパティーを読み込みます。 MQMD ヘッダーが検出された場合は、MQOutput ノードは、それが WebSphere MQ タイプ・ヘッダーであることを確認します。MQ タイプ・ヘッダーでない場合は、「メッセージ・コンテキスト」プロパティーが「デフォルト」に設定されます。 MQOutput ノードは、メッセージ・ツリー内のその他のトランスポート・ヘッダーを、データとして処理します。 そのようなヘッダーがメッセージ本体の一部として必要でない場合は、変換ノードを使用して、MQOutput ノードの前にメッセージ・ツリーからそれらのヘッダーを削除します。 メッセージ・ツリーが JMS をソースとする場合は、JMSMQTransform ノードを使用して、MQ と互換性があるメッセージ・ツリーを構成できます。 詳細については、JMS メッセージの変換を参照してください。

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

MQOutput ノード・アイコン

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

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

サンプルに関する情報は、WebSphere Message Broker Toolkit に統合されているインフォメーション・センター、またはオンライン・インフォメーション・センターを使用する場合にのみ表示できます。 サンプルは、WebSphere Message Broker Toolkit に統合されているインフォメーション・センターを使用する場合にのみ実行できます。

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

WrittenDestination データの処理

メッセージが入力されると、ローカル環境の WrittenDestination フォルダーは宛先情報で更新されます。 MQOutput ノードの WrittenDestination データの形式は次のとおりです。
WrittenDestination = (
   MQ  = (
      z`DestinationData = (
         queueName        = 'OUT'
         queueManagerName = 'MYQUEUEMANAGER'
         replyIdentifier = X'4d...2e'
         msgId           = X'3c...2c'
         correlId        = X'2a...00'
         GroupId         = X'3a...00'
      )
   )
)

ターミナルの接続

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 ノードのインスタンスをメッセージ・フローに入れると、それを構成することができます。メッセージ・フロー・ノードの構成を参照してください。 ノードのプロパティーが、「プロパティー」ビューに表示されます。

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

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

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

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

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

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

プロパティー M C デフォルト 説明 mqsiapplybaroverride コマンド・プロパティー
キュー・マネージャー名 いいえ はい   キュー名」プロパティーで指定されたこの出力キューを定義する WebSphere MQ キュー・マネージャーの名前を入力します。

指定されたキューが別のキュー・マネージャーで定義されているか、クラスター・キューである場合に限り、「キュー・マネージャー名」プロパティーが必要です。 それがクラスター・キューである場合、どのキュー・マネージャーがメッセージを受信するかについて規定するために、オプションで「キュー・マネージャー名」を指定することもできます。 リモート・キュー・マネージャーでキューが定義されている場合、「キュー・マネージャー名」を指定する必要があります。これは、そのリモート・キュー・マネージャーに関してブローカーのローカル・キュー・マネージャーで定義された伝送キューに一致する必要があります。

queueManagerName
キュー名 いいえ はい   このノードによって定義されている単一の宛先キューへ出力メッセージを送信する場合は、メッセージ・フローが送信するメッセージの送信先の WebSphere MQ 出力キューの名前を入力します。

「宛先モード」プロパティーを「キュー名」に設定した場合、「キュー名」プロパティーの値を指定する必要があります。 「宛先モード」を別の値に設定した場合は、このプロパティーは無視されます。

queueName

MQOutput ノードの「拡張」プロパティーについては、次の表に説明されています。 これらのプロパティーは、メッセージのトランザクション制御と、メッセージをキューに入れる方法を定義します。 これらのプロパティーの多くは MQPUT 呼び出しのオプションにマップされます。

プロパティー M C デフォルト 説明
宛先モード はい いいえ キュー名 出力メッセージの送信先のキュー。
  • キュー名」(デフォルト) を選択すると、メッセージは「キュー名」プロパティーで指定したキューに送信されます。 このオプションを選択する場合には、「キュー・マネージャー名」および「キュー名」プロパティーを設定することが必要です。
  • キューへ応答」を選択すると、メッセージは、MQMD の「ReplyToQ」フィールドで指定されたキューに送信されます。

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

  • 宛先リスト」を選択すると、メッセージは、そのメッセージに関連付けられているローカル環境に指定されたキューのリストへ送られます。 指定したデータが、ローカル環境の DestinationData サブツリーで使用されます。 DestinationData サブツリーの詳細については、MQ DestinationData サブツリー内のエレメントのデータ・タイプを参照してください。 宛先リストの詳細については、宛先リストの作成を参照してください。
トランザクション・モード はい いいえ 自動 このプロパティーは、メッセージをトランザクションとして書き込むかどうかを制御します。
  • 「自動」(デフォルト) を選択すると、メッセージのトランザクション特性は、入力ノードで指定した仕方から導き出されます。
  • 「はい」を選択すると、メッセージはトランザクションとして書き込まれます。
  • 「いいえ」を選択すると、メッセージは非トランザクションとして書き込まれます。
詳しくは、整合トランザクションの構成を参照してください。
持続モード はい いいえ 自動 このプロパティーは、メッセージを持続的に書き込むかどうかを制御します。
  • 「自動」(デフォルト) を選択すると、持続性は着信メッセージの指定どおりに設定されます。
  • 「はい」を選択すると、メッセージは持続的に書き込まれます。
  • 「いいえ」を選択すると、メッセージは非持続的に書き込まれます。
  • 「キューの定義どおり」を選択すると、メッセージ持続性は WebSphere MQ キューの定義どおりに設定されます。
新規メッセージ ID はい いいえ 選択されていない このチェック・ボックスを選択すると、WebSphere MQ が新しいメッセージ ID を生成して、MQMD の「MsgId」フィールドの内容を置き換えます。 このプロパティーは MQI の MQPMO の MQPMO_NEW_MSG_ID オプションにマップされます。 新しい ID を生成する必要がない場合は、チェック・ボックスのチェックを外します。 「要求」タブで「要求」プロパティーを選択した場合、新規メッセージ ID は引き続き生成されます。

このプロパティーをマップするオプションの詳細は、WebSphere MQ バージョン 7 インフォメーション・センター・オンラインの「アプリケーション・プログラミング・リファレンス」セクションを参照してください。

新規相関 ID はい いいえ 選択されていない このチェック・ボックスを選択すると、WebSphere MQ が新しい相関 ID を生成して、MQMD の CorrelId フィールドの内容を置き換えます。 このプロパティーは MQI の MQPMO の MQPMO_NEW_CORREL_ID オプションにマップされます。 新しい ID を生成する必要がない場合は、チェック・ボックスのチェックを外します。

このプロパティーをマップするオプションの詳細は、WebSphere MQ バージョン 7 インフォメーション・センター・オンラインの「アプリケーション・プログラミング・リファレンス」セクションを参照してください。

セグメント化可能 はい いいえ 選択されていない このチェック・ボックスを選択すると、WebSphere MQ が、キュー・マネージャー内でメッセージをいくつかのセグメントに分けます。 セグメント化が発生しないようにするには、チェック・ボックスのチェックを外します。 メッセージ・セグメンテーションの詳細については、WebSphere MQ メッセージ内のメッセージ・セグメントの送信を参照してください。

このプロパティーをマップするオプションの詳細は、WebSphere MQ バージョン 7 インフォメーション・センター・オンラインの「アプリケーション・プログラミング・リファレンス」セクションを参照してください。

メッセージ・コンテキスト はい いいえ すべて渡す このプロパティーは、元のコンテキストの処理方法を制御します。
  • 「すべて渡す」は、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 オプションにマップします。

セキュリティー・プロファイルが、ノードに関連付けられていて、ID の伝搬を実行するように構成されている場合、選択したコンテキストを指定変更して、発信される ID が必ず設定されるようにすることができます。

これらのプロパティーをマップするオプションの詳細は、WebSphere MQ バージョン 7 インフォメーション・センター・オンラインの「アプリケーション・プログラミング・リファレンス」セクションを参照してください。

代替ユーザー権限 はい いいえ 選択されていない このチェック・ボックスを選択した場合、出力メッセージの書き込み時に代替権限が使用され、MQI のオープン・オプション (MQOO) で MQOO_ALTERNATE_USER_AUTHORITY オプションが設定されます。 このチェック・ボックスを選択する場合は、キューを出力のために開く時にこのオプションを指定します。 代替ユーザー情報は、メッセージのコンテキスト情報から取り出されます。 代替ユーザー権限を指定しない場合は、チェック・ボックスのチェックを外します。 チェック・ボックスのチェックを外すと、メッセージが書き込まれる時にブローカー・サービス・ユーザー ID が使用されます。

MQOutput ノードの「要求」プロパティーについては、次の表に説明されています。 これらのプロパティーで、生成される各出力メッセージの特性を定義します。

プロパティー M C デフォルト 説明 mqsiapplybaroverride コマンド・プロパティー
要求 はい いいえ 選択されていない このチェック・ボックスを選択した場合、MQMD 内のそれぞれの出力メッセージは要求メッセージ (MQMT_REQUEST) として生成され、メッセージ ID フィールドがクリアされて (MQMI_NONE に設定されて)、新しい ID が WebSphere MQ によって生成されます。 すべての出力メッセージが要求メッセージとしてマークされないように指示するには、このチェック・ボックスのチェックを外します。 「宛先モード」を「キューへ応答」に設定すると、このチェック・ボックスは選択できません。

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

 
応答先キュー・マネージャー いいえ はい   応答先キュー」に指定された出力キューを定義する WebSphere MQ キュー・マネージャーの名前。 この名前は、それぞれの出力メッセージの MQMD に応答先キュー・マネージャーとして挿入されます。 replyToQMgr
応答先キュー いいえ はい   この要求に対する応答が置かれる WebSphere MQ キューの名前。 この名前は、それぞれの出力メッセージの MQMD に応答先キューとして挿入されます。 replyToQ

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

これらのプロパティーの詳細については、妥当性検査プロパティーを参照してください。

プロパティー M C デフォルト 説明 mqsiapplybaroverride コマンド・プロパティー
妥当性検査 いいえ はい 継承 このプロパティーは、妥当性検査を行うかどうかを制御します。 有効な値は、「なし」「内容と値」「内容」、および「継承」です。 validateMaster
失敗時の処置 いいえ いいえ 例外 このプロパティーは、妥当性検査が失敗した場合の動作を制御します。 「妥当性検査」「内容」または「内容と値」に設定した場合にのみ、このプロパティーを設定できます。 有効な値は、「ユーザー・トレース」「ローカル・エラー・ログ」「例外」、および「例外リスト」です。  
ノードのモニター・プロパティーが、次の表に説明されています。
プロパティー M C デフォルト 説明
イベント いいえ いいえ なし ノードに対して定義したイベントが、このタブに表示されます。 デフォルトでは、メッセージ・フローのどのノードに対してもモニター・イベントは定義されません。 ノードのモニター・イベントを作成、変更、または削除するには、「追加」「編集」、および「削除」を使用します。詳しくは、モニター・プロパティーを使用したモニター・イベント・ソースの構成を参照してください。

「使用可能」チェック・ボックスを選択またはクリアすることによって、ここに表示されているイベントを使用可能および使用不可に設定できます。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:45:24


参照トピック参照トピック | バージョン 8.0.0.5 | ac04570_