WebSphere® MQ Enterprise Transport を使用してブローカーに接続し、MQI および AMI アプリケーション・プログラミング・インターフェースを使用するクライアントへメッセージを送信するには、MQOutput ノードを使用します。
このトピックには、以下のセクションが含まれています。
MQOutput ノードは、出力メッセージをメッセージ・フローから WebSphere MQ キューに送達します。 このノードは、MQPUT を使用して、指定する宛先キュー (複数も可) にメッセージを書き込みます。
適切な場合には、キューを WebSphere MQ クラスター・キューまたは共有キューとして定義します。 WebSphere MQ クラスター・キューを使用する場合には、キュー・マネージャー名を空にしておいてください。
MQOutput ノードを構成して、ブローカーのキュー・マネージャーからアクセス可能な任意のキュー・マネージャーに定義された特定の WebSphere MQ キューに、またはメッセージに関連付けられた LocalEnvironment (DestinationList としても知られる) で識別される宛先に、メッセージを書き込むことができます。
他のプロパティーを設定すると、適切な MQPUT オプションを設定できるので、メッセージを送信する方法を制御できます。例えば、メッセージをトランザクション制御下で処理するように要求できます。 さらに WebSphere MQ が必要に応じて、メッセージをキュー・マネージャーでいくつかのセグメントに分けるように指定できます。
サブフローとして使用するメッセージ・フローを作成する場合には、標準出力ノードを使用することはできません。Outputノードのインスタンスを使用して、メッセージを伝搬するサブフロー用の Out ターミナルを作成します。
メッセージ・フローでメッセージを WebSphere MQ キューに送信したくない場合には、サポートされる別の出力ノードを選択します。
MQOutput ノードは、パレットの 「WebSphere MQ」ドロワーに含まれていて、ワークベンチ内では、次のアイコンによって表されます。
このノードが使用される方法に関しては、次のサンプルを参照してください。
サンプルは、Message Brokers Toolkit と統合されているインフォメーション・センターを使用する場合にのみ表示できます。
このノードの使用方法を示す例として、定期的に株価の更新をパブリッシュするようなパブリッシング・アプリケーションを作成したと仮定します。 アプリケーションは MQInput ノード上のブローカーにメッセージを送信し、メッセージ・フローは Publication ノードを通して、パブリケーションを複数のサブスクライバーに対して使用可能にします。 特定の株式に変更が生じるたびに新しい出力メッセージを作成するよう Compute ノードを構成し、このノードを MQOutput ノードに接続して、この株式の価格に変動が生じるたびにこれを記録します。
MQOutput ノードのインスタンスをメッセージ・フローに入れると、それを構成することができます。メッセージ・フロー・ノードの構成を参照してください。 ノードのプロパティーが、「プロパティー」ビューに表示されます。ノードのプロパティーを表示するには、ノードをダブルクリックするか、またはノードを右クリックしてから「プロパティー」をクリックします。
値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、アスタリスクが表示されます。
MQOutput ノードを構成します。
このオプションを選択すると、MQOutput ノードは WebSphere MQ 応答メッセージを構成します。この状態で、MQOutput ノードおよび Root.MQMD フォルダーが使用する設定値に関する詳細は、WebSphere MQ 応答メッセージの内容を参照してください。
新しい ID を生成する必要がない場合は、チェック・ボックスのチェックを外します。 「要求」タブで「要求」を選択した場合、新規メッセージ ID は引き続き生成されます。
このプロパティーのマップ先のオプションの詳細については、WebSphere MQ バージョン 6 インフォメーション・センター・オンライン の「Application Programming Reference」のセクション、または WebSphere MQ ライブラリー Web ページ のバージョン 5.3 ブックを参照してください。
このプロパティーのマップ先のオプションの詳細については、WebSphere MQ バージョン 6 インフォメーション・センター・オンライン の「Application Programming Reference」のセクション、または WebSphere MQ ライブラリー Web ページ のバージョン 5.3 ブックを参照してください。
このプロパティーのマップ先のオプションの詳細については、WebSphere MQ バージョン 6 インフォメーション・センター・オンライン の「Application Programming Reference」のセクション、または WebSphere MQ ライブラリー Web ページ のバージョン 5.3 ブックを参照してください。
これらのプロパティーのマップ先のオプションの詳細については、WebSphere MQ バージョン 6 インフォメーション・センター・オンライン の「Application Programming Reference」のセクション、または WebSphere MQ ライブラリー Web ページ のバージョン 5.3 ブックを参照してください。
「新規メッセージ ID」チェック・ボックスが「拡張」タブで選択されていない場合でも、新規メッセージ ID が生成されます。
詳細については、メッセージの妥当性検査および妥当性検査プロパティーを参照してください。
In ターミナルを、ルーティングされるアウトバウンド・メッセージの元になるノードに接続します。
メッセージをさらに処理したり、エラーを処理したり、あるいはメッセージを追加の宛先に送信するために、このノードの Out ターミナルまたは Failure ターミナルをこのメッセージ・フローの別のノードに接続します。
これらの値は、LocalEnvironment ツリー構造内の WrittenDestination に書き込まれます。
いずれかのターミナルを接続しないと、LocalEnvironment ツリーは変更されません。
メッセージ・フローで集約を使用する場合には、出力ターミナルを使用する必要があります。
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)
MQMD.Version MQMD.Format MQMD.Priority MQMD.Persistence MQMD.Expiry MQMD.Encoding MQMD.CodedCharSetId MQMD.GroupId MQMD.MsgSeqNumber MQMD.Offset MQMD.MsgFlags MQMD.OriginalLength
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 構造が構成されると、MQOutput ノードの「メッセージ・コンテキスト」は無視され、動作は「すべて設定」と同じになります。
指定変更される値は、出力 MQMD 構造の中でのみ変更されます。メッセージ・ツリー中の MQMD フォルダーは更新されません。
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 キューの名前。 |
MQOutput ノードの「妥当性検査」プロパティーについては、次の表に説明されています。
これらのプロパティーの詳細については、妥当性検査プロパティーを参照してください。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
妥当性検査 | いいえ | はい | 継承 | このプロパティーは、妥当性検査を行うかどうかを制御します。 有効な値は、「なし」、「内容と値」、「内容」、および「継承」です。 |
失敗時の処置 | いいえ | いいえ | 例外 | このプロパティーは、妥当性検査が失敗した場合の動作を制御します。 「妥当性検査」を「内容」または「内容と値」に設定した場合にのみ、このプロパティーを設定できます。有効な値は、「ユーザー・トレース」、「ローカル・エラー・ログ」、「例外」、および「例外リスト」です。 |
すべての値制約を含める | はい | いいえ | 選択されている | このプロパティーは編集できません。 チェック・ボックスを選択すると、基本値制約検査が「内容と値」妥当性検査に含まれます。 |
修正 | はい | いいえ | なし | このプロパティーは編集できません。 |