このトピックには、以下のセクションが含まれています。
WebSphere MQ Enterprise Transport を使用してブローカーに接続し、MQI および AMI アプリケーション・プログラミング・インターフェースを使用するクライアントからのメッセージを受信するには、MQInput ノードを使用します。
MQInput ノードは、ブローカーのキュー・マネージャー上に定義されている WebSphere MQ メッセージ・キューからの、メッセージ・フローへのメッセージ入力を受信します。 このノードでは、MQGET を使用して特定のキューからメッセージを読み取り、メッセージの処理環境を確立します。 適切な場合には、入力キューを WebSphere MQ クラスター・キューまたは共有キューとして定義することができます。
WebSphere MQ 接続を経由して受信するメッセージを処理するメッセージ・フローは、常に MQInput ノードから開始されます。 MQInput ノードのプロパティーを設定すると、適切な MQGET オプションを設定できるので、メッセージの受信方法を制御できます。 例えば、メッセージをトランザクション制御下で処理するように指示できます。さらに、入力メッセージを受信するたびにデータ変換を実行するように要求することもできます。
MQInput ノードで開始されるメッセージ・フローに出力ノードを組み込む場合には、(ユーザー定義の出力ノードを含む) を使用できます。MQOutput ノードを組み込む必要はありません。 必要な任意の変換をブローカーに要求するようにメッセージ・フローを構成できますので、WebSphere MQ クライアントからメッセージを受け取り、サポートされる任意のトランスポートを使用してブローカーに接続するクライアント用のメッセージを生成する、メッセージ・フローを作成できます。
サブフローとして使用するメッセージ・フローを作成する場合には、標準入力ノードを使用することはできず、入力ノードのインスタンスを最初のノードとして使用して、サブフロー用の in ターミナルを作成する必要があります。
ご使用のメッセージ・フローが WebSphere MQ 接続を経由してメッセージを受け取らない場合には、サポートされる入力ノードのいずれかを選択できます。
ワークベンチでは、MQInput ノードは次のアイコンで表されます。
MQInput ノードのインスタンスをメッセージ・フローに入れると、MQInput ノードを構成することができます。 エディター・ビューでノードを右クリックし、「プロパティー」をクリックします。 ノードの基本プロパティーが、プロパティー・ダイアログに表示されます。
デフォルト値が定義されていないすべての必須プロパティーには、プロパティー・ダイアログでアスタリスクのマークが付きます。
以下のように、MQInput ノードを構成します。
このオプションの詳細については、メッセージ・グループを処理するノードの構成を参照してください。
このチェック・ボックスのチェックを外した場合、グループの一部として送信されるメッセージは事前に決定された順序で受信されません。 ブローカーがグループ内のメッセージを受信する必要がありこのチェック・ボックスを選択しない場合は、入力メッセージの順序を重要視しないか、またはメッセージ・フローを設計してメッセージを適切に処理する必要があります。
グループの最後のメッセージが受信および処理された後にのみメッセージ処理をコミットしたい場合は、「メッセージ・グループによるコミット」チェック・ボックスも選択する必要があります。
このプロパティーのマップ先のオプションの詳細については、「WebSphere MQアプリケーション・プログラミング・リファレンス」を参照してください。
このオプションの詳細については、メッセージ・グループを処理するノードの構成を参照してください。
このプロパティーのマップ先のオプションの詳細については、「WebSphere MQアプリケーション・プログラミング・リファレンス」を参照してください。
最大 48 桁までの 16 進数字 (文字 0 から 9、A から F、および a から f が有効) の偶数を入力します。 入力した ID が「MsgId」フィールドのサイズより短い場合、右側に X'00' 文字が埋め込まれます。 これは、MQI の MQGMO の MQMO_MATCH_MSG_ID オプションにマップされます。
メッセージ ID が一致することを入力ノードに確認させたくない場合は、このプロパティーはブランクのままにしてください。
このプロパティーのマップ先のオプションの詳細については、「WebSphere MQアプリケーション・プログラミング・リファレンス」を参照してください。
最大 48 桁までの 16 進数字 (文字 0 から 9、A から F、および a から f が有効) の偶数を入力します。 入力した ID が「CorrelId」フィールドのサイズより短い場合、右側に X'00' 文字が埋め込まれます。 これは MQI の MQGMO の MQMO_MATCH_CORREL_ID オプションにマップされます。
メッセージ ID が一致することを入力ノードに確認させたくない場合は、このプロパティーはブランクのままにしてください。
このプロパティーのマップ先のオプションの詳細については、「WebSphere MQアプリケーション・プログラミング・リファレンス」を参照してください。
入力キューからメッセージを取り出すときに、WebSphere MQ は着信メッセージを、MQMD に指定されたエンコードおよびコード化文字セットに変換します。 この MQMD は入力ノードが MQGET 呼び出しで指定したものです。 このメッセージ・フローは上記の値を使用してすべての出力メッセージを生成し、それら出力メッセージを MQMD に設定された Encoding および CodedCharSetID の値を持つターゲット・キューに置きます。
このプロパティーは MQI の MQGMO の MQGMO_CONVERT オプションにマップされます。
WebSphere MQ がメッセージを変換しないようにするには、チェック・ボックスのチェックを外します。
このボックスを選択した場合には、次も指定できます。
値を指定しなかった場合、着信メッセージ MQMD の値が使用されます。
無効な値を指定した場合、変換は行われません。
値を指定しなかった場合、着信メッセージ MQMD の値が使用されます。
無効な値を指定した場合、変換は行われません。
WebSphere MQ データ変換、およびこのオプションを使用する理由の詳細については、「WebSphere MQアプリケーション・プログラミング・ガイド」を参照してください。 「変換エンコード」および「変換コード化文字セット ID」に指定できる値の詳細については、「WebSphere MQアプリケーション・プログラミング・リファレンス」を参照してください。
このプロパティーは「論理順序」を選択した場合のみ関係します。
キューに出力される順序でグループ内のメッセージを検索および処理する必要がある場合には、「順序モード」プロパティーを「キュー順序」に設定します。
逐次化トークンに指定する値は、「WebSphere MQ アプリケーション・プログラミング・リファレンス」で説明されている規則に準拠している必要があります。
z/OS における逐次化およびキュー共用については、「WebSphere MQ 概説および計画ガイド」を参照してください。
「キャンセル」をクリックすると、ダイアログを閉じてプロパティーに対して行った変更をすべて破棄します。
MQInput は、out ターミナルに正常に取り出される各メッセージをルーティングします。 これが失敗する場合、メッセージが再試行されます。 (入力キューの BackoutThreshold 属性によって定義されているように) 再試行タイムアウトの有効期限が切れる場合、メッセージは failure ターミナルにルーティングされます。 ノードをこのターミナルに接続し、この状態を処理することができます。 failure ターミナルに接続しなかった場合、メッセージはバックアウト・キューに書き込まれます。
メッセージ・フロー内でさらに例外がスローされた後、このノードによってメッセージがキャッチされる場合、メッセージは catch ターミナルにルーティングされます。 catch ターミナルに接続しなかった場合、その問題が解決されるまで、メッセージはこのノードでループし続けます。 メッセージがノードを介して連続してループしないようにするために、バックアウト・キューまたは送達不能キュー (DLQ) を定義する必要があります。
メッセージ・フローに MQInput ノードを組み込む場合、「トランザクション・モード」で設定した値が、メッセージを同期点下で受信するかどうかを定義します。
(MQOutput ノードは出力ノードのみで、このオプションのオーバーライドを構成できます。)
WebSphere MQ は、メッセージ・グループをサポートします。 そこでは、メッセージがあるグループに属するように指定し、そのメッセージの処理とそのグループ内の他のすべてのメッセージの処理を 1 つのトランザクションとして処理するように指定することができます。 すなわち、そのグループの 1 つのメッセージの処理に失敗した場合、そのグループのすべてのメッセージはバックアウトされます。メッセージ処理は、すべてのメッセージの処理が成功した場合にのみ、グループ内の最後のメッセージの処理が成功した後にコミットされます。
グループにメッセージを組み込み、そのグループ内のすべてのメッセージがキューから読み取られ、グループ内で定義された順序で処理される必要がある場合には、以下に示すすべてのアクションを実行する必要があります。
同じ入力キューからメッセージを検索する別のメッセージ・フローがないことを確認することも必要です。 それがある場合には、グループ内のメッセージが処理される順序は保証されません。
MQInput ノードのターミナルについては、次の表に説明されています。
ターミナル | 説明 |
---|---|
Failure | エラーが発生した場合にメッセージがルーティングされる出力ターミナル。 「妥当性検査」プロパティーが設定されている場合でも、このターミナルに伝搬されるメッセージは妥当性検査が行われません。 |
Out | WebSphere MQ キューからメッセージが正常に取り出された場合に、メッセージがルーティングされる出力ターミナル。 |
Catch | 例外がダウンストリームでスローされ、ノードによってキャッチされた場合に、メッセージがルーティングされる出力ターミナル。 |
以下の表でノードのプロパティーを説明します。M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、プロパティー・ダイアログにアスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを bar ファイルに追加してデプロイするとき、値を変更できます)。
MQInput ノードの基本プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
キュー名 | はい | はい | このノードが、このメッセージ・フローで処理するために (MQGET を使用して) メッセージを取り出す WebSphere MQ 入力キューの名前。 |
MQInput ノードの拡張プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
トランザクション・モード | はい | いいえ | はい | 着信メッセージが同期点下で受信されるかどうか。 有効な値は、「自動」、「はい」、および「いいえ」です。 |
順序モード | はい | いいえ | デフォルト | 入力キューからメッセージを取り出す順序と、処理する順序。有効な値は、「デフォルト」、「ユーザー ID 順」、および「キュー順序」です。 |
論理順序 | はい | いいえ | 選択されている | メッセージを、WebSphere MQ で定義された論理順序で受信するかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。 |
すべてのメッセージが使用可能 | はい | いいえ | 選択されていない | チェック・ボックスを選択する場合、メッセージの検索が可能になる前にグループ内のすべてのメッセージを使用可能にする必要があります。 |
一致するメッセージ ID | いいえ | いいえ | 着信メッセージの MQMD 内のメッセージ ID と一致する必要のあるメッセージ ID。 | |
一致する相関 ID | いいえ | いいえ | 着信メッセージの MQMD 内の相関 ID と一致する必要のある相関 ID。 | |
変換 | はい | いいえ | 選択されていない | WebSphere MQ が、MQMD に設定された CodedCharSetId および Encoding の値に準拠して、受信するメッセージのデータを変換するかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。 |
変換エンコード | いいえ | いいえ | メッセージ・データの数値 (整数値で表される) に使用する表現。「変換」チェック・ボックスを選択した場合にのみ、このプロパティーは有効です。 | |
変換コード化文字セット ID | いいえ | いいえ | 整数値として表されたメッセージ・データの文字データのコード化文字セット ID。「変換」チェック・ボックスを選択した場合にのみ、このプロパティーは有効です。 | |
メッセージ・グループによるコミット | はい | いいえ | 選択されていない | メッセージ・グループの一部であるメッセージを処理する時、いつトランザクションをコミットします。 このチェック・ボックスを選択すると、メッセージ・グループが処理された時にトランザクションがコミットされます。 |
z/OS 逐次化トークン | いいえ | いいえ | 逐次化されたアプリケーション・サポート用のユーザー定義トークン。 指定する値は、WebSphere MQ MQCNO 構造の有効な ConnTag の規則に準拠している必要があります。これらの規則は、「WebSphere MQ アプリケーション・プログラミング・リファレンス」で説明されています。 |
MQInput ノードの説明プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
簡略説明 | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |