このトピックには、以下のセクションが含まれています。
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 ノード上のブローカーにメッセージを送信し、メッセージ・フローは Publication ノードを通して、パブリケーションを複数のサブスクライバーに対して使用可能にします。
MQInput ノードのインスタンスをメッセージ・フローに入れると、MQInput ノードを構成することができます。 エディター・ビューでノードを右マウス・ボタンでクリックし、「プロパティー (Properties)」をクリックします。 ノードの基本プロパティーが、プロパティー・ダイアログに表示されます。
デフォルト値が定義されていないすべての必須プロパティーには、プロパティー・ダイアログでアスタリスクのマークが付きます。
以下のように、MQInput ノードを構成します。
このオプションの詳細については、メッセージ・グループを処理するノードの構成を参照してください。
このチェック・ボックスのチェックを外した場合、グループの一部として送信されるメッセージは事前に決定された順序で受信されません。 ブローカーがグループ内のメッセージを受信する必要がありこのチェック・ボックスを選択しない場合は、入力メッセージの順序を重要視しないか、またはメッセージ・フローを設計してメッセージを適切に処理する必要があります。
グループの最後のメッセージが受信および処理された後にのみメッセージ処理をコミットしたい場合は、「メッセージ・グループによるコミット (Commit by Message Group)」チェック・ボックスも選択する必要があります。
このプロパティーのマップ先のオプションの詳細については、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アプリケーション・プログラミング・ガイド を参照してください。 「変換エンコード (Convert Encoding)」および「変換コード化文字セット ID (Convert Coded Char Set ID)」に指定できる値の詳細については、WebSphere MQ「アプリケーション・プログラミング・リファレンス」を参照してください。
このプロパティーは「論理順序 (Logical Order)」を選択した場合のみ関係します。
キューに出力される順序でグループ内のメッセージを検索および処理する必要がある場合には、「順序モード (Order Mode)」プロパティーを「キュー順序 (By Queue Order)」に設定します。
「キャンセル (Cancel)」をクリックすると、ダイアログを閉じてプロパティーの変更をすべて破棄します。
MQInput は、out ターミナルに正常に取り出される各メッセージをルーティングします。 これが失敗する場合、メッセージが再試行されます。 (入力キューの BackoutThreshold 属性によって定義されているように) 再試行タイムアウトの有効期限が切れる場合、メッセージは failure ターミナルにルーティングされます。 ノードをこのターミナルに接続し、この状態を処理することができます。 failure ターミナルに接続しなかった場合、メッセージはバックアウト・キューに書き込まれます。
メッセージ・フロー内でさらに例外が出された後、このノードによってメッセージがキャッチされる場合、メッセージは catch ターミナルにルーティングされます。 catch ターミナルに接続しなかった場合、その問題が解決されるまで、メッセージはこのノードでループし続けます。 メッセージがノードを介して連続してループしないようにするために、バックアウト・キューまたは送達不能キュー (DLQ) を定義する必要があります。
メッセージ・フローに MQInput ノードを組み込む場合、「トランザクション・モード (Transaction Mode)」で設定した値が、メッセージを同期点下で受信するかどうかを定義します。
(MQOutput ノードは出力ノードのみで、このオプションのオーバーライドを構成できます。)
WebSphere MQ は、メッセージ・グループをサポートします。 そこでは、メッセージがあるグループに属するように指定し、そのメッセージの処理とそのグループ内の他のすべてのメッセージの処理を 1 つのトランザクションとして処理するように指定することができます。 すなわち、そのグループの 1 つのメッセージの処理に失敗した場合、そのグループのすべてのメッセージはバックアウトされます。 メッセージ処理は、すべてのメッセージの処理が成功した場合にのみ、グループ内の最後のメッセージの処理が成功した後にコミットされます。
グループにメッセージを組み込み、そのグループ内のすべてのメッセージがキューから読み取られ、グループ内で定義された順序で処理される必要がある場合には、以下に示すすべてのアクションを実行する必要があります。
同じ入力キューからメッセージを検索する別のメッセージ・フローがないことを確認することも必要です。 それがある場合には、グループ内のメッセージが処理される順序は保証されません。
同じキューにアクセスする、複数のメッセージ・フローまたは同じメッセージ・フローの複数のインスタンスがある場合、以下の症状が 1 つ以上見られることがあります。
MQInput ノード・ターミナルについては、次の表に説明されています。
ターミナル | 説明 |
---|---|
Failure | エラーが発生した場合にメッセージがルーティングされる出力ターミナル。 「妥当性検査 (Validation)」プロパティーが設定されている場合でも、このターミナルに伝搬されるメッセージは妥当性検査が行われません。 |
Out | WebSphere MQ キューからメッセージが正常に取り出された場合に、メッセージがルーティングされる出力ターミナル。 |
Catch | 例外がダウンストリームで発生し、ノードによってキャッチされた場合に、メッセージがルーティングされる出力ターミナル。 |
以下の表でノードのプロパティーを説明します。M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、プロパティー・ダイアログにアスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを bar ファイルに追加してデプロイするとき、値を変更できます)。
MQInput ノードの「基本 (Basic)」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
キュー名 (Queue Name) | はい | はい | このノードが、このメッセージ・フローで処理するために (MQGET を使用して) メッセージを取り出す WebSphere MQ 入力キューの名前。 |
MQInput ノードの「拡張 (Advanced)」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
トランザクション・モード (Transaction Mode) | はい | いいえ | 「はい (Yes)」 | 着信メッセージが同期点下で受信されるかどうか。 有効な値は、「自動 (Automatic)」、「はい (Yes)」、および「いいえ (No)」です。 |
順序モード (Order Mode) | はい | いいえ | 「デフォルト (Default)」 | 入力キューからメッセージを取り出す順序と、処理する順序。 有効な値は、「デフォルト (Default)」、「ユーザー ID 順 (By User ID)」、および「キュー順序 (By Queue Order)」です。 |
論理順序 (Logical Order) | はい | いいえ | 選択されている | メッセージを、WebSphere MQ で定義された論理順序で受信するかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。 |
すべてのメッセージが使用可能 (All Messages Available) | はい | いいえ | 選択されていない | チェック・ボックスを選択する場合、メッセージの検索が可能になる前にグループ内のすべてのメッセージを使用可能にする必要があります。 |
一致するメッセージ ID (Match Message ID) | いいえ | いいえ | 着信メッセージの MQMD 内のメッセージ ID と一致する必要のあるメッセージ ID。 | |
一致する相関 ID (Match Correlation ID) | いいえ | いいえ | 着信メッセージの MQMD 内の相関 ID と一致する必要のある相関 ID。 | |
変換 (Convert) | はい | いいえ | 選択されていない | WebSphere MQ が、MQMD に設定された CodedCharSetId および Encoding の値に準拠して、受信するメッセージのデータを変換するかどうか。 チェック・ボックスを選択すると、このアクションが実行されます。 |
変換エンコード (Convert Encoding) | いいえ | いいえ | メッセージ・データの数値 (整数値で表される) に使用する表現。 「変換 (Convert)」チェック・ボックスを選択した場合にのみ、このプロパティーは有効です。 | |
変換コード化文字セット ID (Convert Coded Character Set ID) | いいえ | いいえ | 整数値として表されたメッセージ・データの文字データのコード化文字セット ID。 「変換 (Convert)」チェック・ボックスを選択した場合にのみ、このプロパティーは有効です。 | |
メッセージ・グループによるコミット (Commit By Message Group) | はい | いいえ | 選択されていない | メッセージ・グループの一部であるメッセージを処理する時、いつトランザクションをコミットします。 このチェック・ボックスを選択すると、メッセージ・グループが処理された時にトランザクションがコミットされます。 |
MQInput ノードの「説明 (Description)」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
簡略説明 (Short Description) | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 (Long Description) | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |
関連概念
WebSphere MQ Enterprise Transport
メッセージ・フロー
メッセージ・フロー・アプリケーションのデプロイメント
関連タスク
使用するノードの決定
複数の入力ノードの使用
メッセージ・フローのエラー処理
入出力に WebSphere MQ クラスター・キューを使用する
入出力に WebSphere MQ 共用キューを使用する (z/OS)
構成可能プロパティーの編集
関連資料
WebSphere MQ Enterprise Transport
Input ノード
MQeInput ノード
MQeOutput ノード
MQOutput ノード
MQReply ノード
Real-timeInput ノード
Real-timeOptimizedFlow ノード
SCADAInput ノード
SCADAOutput ノード
注意 |
商標 |
ダウンロード |
ライブラリー |
技術サポート |
フィードバック
![]() ![]() |
ac04560_ |