JMSReply ノードを使用して、JMS 宛先にメッセージを送信します。
このトピックには、以下のセクションが含まれています。
JMSReply ノードには、JMSOutput ノードと類似の機能がありますが、JMSReply ノードは、JMS メッセージ・ツリーの JMSReplyTo ヘッダー・フィールドで提供されている応答宛先にのみ、JMS メッセージを送信します。 メッセージ・フローから生成される JMS メッセージを JMS 入力メッセージへの応答として扱い、他にルーティング要件がない場合、JMSReply ノードを使用します。
JMSReply ノードはパレットの JMS ドロワーに含まれていて、WebSphere® Message Broker Toolkit では次のアイコンによって表されます。
JMSInput ノード・メッセージが、MyJMSInputQueue と呼ばれる JMS 宛先から Point-to-Point メッセージを取得するメッセージ・フローを作成する、という状況について考えます。 メッセージ・フローはメッセージの内容を使用してデータベースを更新します。それから MyJMSReplyQueue と呼ばれる JMS 宛先に応答します。この宛先は、入力メッセージの JMSReplyTo ヘッダーでアプリケーションを生成することによって設定されます。
パブリッシュ/サブスクライブ メッセージ・モデルの類似のシナリオで、JMSInput ノードは TopicA をサブスクライブし、JMSReply ノードは TopicB 宛先 (入力メッセージの JMSReplyTo ヘッダーから取得した) でパブリッシュします。
cciOutputMessageCallback 関数は、コールバックとして登録することができ、メッセージが JMSReply ノードから送信されるたびに呼び出されます。 cciOutputMessageCallbackを参照してください。
ユーザー出口の状態がアクティブの場合、cciOutputMessageCallback 関数は、コールバックが登録されている JMSReply ノードから正常に送信される出力メッセージごとに呼び出されます。
ノードが LocalEnvironment ツリーで WrittenDestination 情報を提供する場合、コールバックはこの情報が作成された後に起動されます。 JMSOutput ノードと JMSReply ノードでの LocalEnvironment 変数の使用を参照してください。
Compute ノードを JMSReply ノードの Out ターミナルに接続し、WrittenDestination リストを問い合わせます。 詳しくは、トレース出力に論理メッセージ・ツリーを表示するを参照してください。
WrittenDestination = (
JMS = (
DestinationData = (
destinationName = 'queue://jmsQueue1'
initialContext = 'com.sun.jndi.fscontext.RefFSContextFactory'
JMSMessageID = ID:414d512054657374514d2020202020206ab98b4520017a02'
JMSCorrelationID = 'ABCDEFGHIJKLMNOPQRSTUVW'
)
)
)
JMSReply ノードのインスタンスをメッセージ・フローに入れると、それを構成することができます。メッセージ・フロー・ノードの構成を参照してください。 ノードのプロパティーが、「プロパティー」ビューに表示されます。 デフォルト値が定義されていないすべての必須プロパティーには、アスタリスクのマークが付きます。
JMSReply ノードのターミナルについては、次の表に説明されています。
ターミナル | 説明 |
---|---|
Failure | エラーが発生した場合にメッセージがルーティングされる出力ターミナル。 「妥当性検査」プロパティーが設定されている場合でも、このターミナルに伝搬されるメッセージは妥当性検査が行われません。 |
Out | WebSphere MQ キューからメッセージが正常に取り出された場合に、メッセージがルーティングされる出力ターミナル。 |
以下の表は、ノード・プロパティーについて説明しています。 M の見出しの列は、プロパティーが必須かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、アスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 (メッセージ・フローを BAR ファイルに追加してデプロイするとき、値を変更できる) かどうかを示します。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
ノード名 | いいえ | いいえ | ノード・タイプ | ノードの名前。 |
簡略説明 | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |
プロパティー | M | C | デフォルト | 説明 | mqsiapplybaroverride コマンド・プロパティー |
---|---|---|---|---|---|
ローカル環境にある宛先リストへ送信する | いいえ | はい | 選択されていない | ローカル環境に JMS 宛先のリスト作成した場合、このチェック・ボックスを選択して宛先リストを使用します。 このチェック・ボックスを選択しなかった場合、ノードは構成済みの JMS 宛先を使用します。 このチェック・ボックスを選択してもローカル環境に JMS 宛先を作成しなかった場合、ノードは構成済みの JMS 宛先を使用します。 | useDistList |
プロパティー | M | C | デフォルト | 説明 | mqsiapplybaroverride コマンド・プロパティー |
---|---|---|---|---|---|
JMS プロバイダー名 | はい | いいえ | WebSphere MQ | リストから JMS ベンダー名を選択するか、または独自に選択した名前を入力します。 リストから名前を選択すると、「初期コンテキスト・ファクトリー」プロパティーが、関連する Java™ クラスを使用して自動的に更新されます。 独自の JMS プロバイダー名を使用する場合、「初期コンテキスト・ファクトリー」の値も入力する必要があります。 デフォルト値は WebSphere
MQ です。 あるいは、JMSProviders 構成可能サービスを指定することができます。 |
|
初期コンテキスト・ファクトリー | いいえ | はい |
|
このプロパティーが JNDI ネーム・スペースの開始点です。 JMS アプリケーションは初期コンテキストを使用して、JMS プロバイダーの接続ファクトリーおよびキューまたはトピック・オブジェクトを取得および検索します。 「JMS プロバイダー名」のリストから JMS プロバイダー名を選択すると、関連する Java クラスに基づいて「初期コンテキスト・ファクトリー」プロパティーが自動的に更新されます。 独自の JMS プロバイダー名を使用する場合、「初期コンテキスト・ファクトリー」の値も入力する必要があります。 デフォルト値は、
であり、WebSphere MQ JMS プロバイダー用のファイル・ベースの初期コンテキスト・ファクトリーを定義します。独自の JMS プロバイダーを使用するようにノードを設定した場合に、mqsichangeproperties 定義の対応する構成可能サービス・プロパティーで InitialContextFactory 属性を設定すると、その値によってノードの設定が指定変更されます。 |
initialContextFactory |
ロケーション JNDI バインディング | いいえ | はい | このプロパティーは、バインディング・ファイルのファイル・システム・パスまたは LDAP ロケーションのどちらかを指定します。 バインディング・ファイルには、JMSReply ノードで使用される JNDI 管理対象オブジェクトの定義が含まれています。 「ロケーション JNDI バインディング」の値を入力するとき、 それが以下の指示に従っていることを確認してください。
JNDI 管理対象オブジェクトのバインディング・ファイルの作成方法については、JMS プロバイダーに付属の資料を参照してください。 独自の JMS プロバイダーを使用するようにノードを設定した場合に、mqsichangeproperties 定義の対応する構成可能サービス・プロパティーで jndiBindingsLocation 属性を設定すると、その値によってノードの設定が指定変更されます。 |
locationJndiBindings | |
接続ファクトリー名 | いいえ | はい | JMSReply ノードによって JMS プロバイダーへの接続を作成するために使用される、接続ファクトリーの名前。 この名前は、バインディング・ファイル内にすでに存在している必要があります。 | connectionFactoryName |
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
新規相関 ID | いいえ | はい | 選択されていない | JMSReply ノードでメッセージの新しい相関 ID を生成する必要がある場合、このチェック・ボックスを選択します。 このチェック・ボックスはデフォルトではクリアされています。チェック・ボックスをクリアされた状態のままにしておくと、出力メッセージの相関 ID は、メッセージ・ツリーの JMSTransport_Header_Values セクションにある JMSCorrelationID フィールドから取り出されます。 |
トランザクション・モード | いいえ | いいえ | いいえ | このプロパティーは、メッセージを JMS トランザクション下で受信するかどうかを制御します。 有効な値は Yes および No です。
|
デリバリー・モード | いいえ | はい | 自動 | このプロパティーは、JMS プロバイダーがメッセージに使用する持続モードを制御します。 有効な値は以下のとおりです。
|
メッセージ有効期限 (ms) | はい | はい | 0 | このプロパティーは、JMS プロバイダーが出力 JMS メッセージを保持する期間をミリ秒単位で制御します。
デフォルト値の 0 は、メッセージの有効期限が切れないことを示します。 「ヘッダーから継承」を選択するか、ミリ秒数を表す整数を入力します。 「ヘッダーから継承」を選択すると、プロパティーは JMS メッセージ中の JMSExpiry フィールドの値を継承します。この値は以下の場所にあります。
|
メッセージ優先順位 | いいえ | はい | 4 | このプロパティーはメッセージに相対重要度を割り当て、受信 JMS クライアント・アプリケーションまたは JMSReply ノードによるメッセージ選択に使用できます。 0 (最低優先順位) から 9 (最高優先順位) までの間の値を選択するか、「ヘッダーから継承」を選択します。 デフォルト値は、中間の優先順位を示す 4 です。
0 から 4 までの範囲の優先順位は、通常の配信に関連したものです。
5 から 9 までの範囲の優先順位は、急ぎの配信のための目盛りです。 「ヘッダーから継承」を選択すると、プロパティーは JMS メッセージ中の JMSPriority フィールドの値を継承します。この値は以下の場所にあります。
|
メッセージ・タイプ | いいえ | はい | TextMessage | このプロパティーは JMS 出力メッセージのクラスを制御します。 デフォルト値は TextMessage です。有効な値は以下のとおりです。
|
プロパティー | M | C | デフォルト | 説明 | mqsiapplybaroverride コマンド・プロパティー |
---|---|---|---|---|---|
妥当性検査 | いいえ | はい | 継承 | このプロパティーは、妥当性検査を行うかどうかを制御します。 有効な値は以下のとおりです。
|
validateMaster |
失敗時の処置 | いいえ | いいえ | 例外 | このプロパティーは、妥当性検査が失敗した場合の動作を制御します。 「妥当性検査」を「内容」または「内容と値」に設定した場合にのみ、このプロパティーを設定できます。 有効な値は以下のとおりです。
|
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
イベント | いいえ | いいえ | なし | ノードに対して定義したイベントが、このタブに表示されます。 デフォルトでは、メッセージ・フローのどのノードに対してもモニター・イベントは定義されません。 ノードのモニター・イベントを作成、変更、または削除するには、「追加」、「編集」、および「削除」を使用します。詳しくは、モニター・プロパティーを使用したモニター・イベント・ソースの構成を参照してください。 「使用可能」チェック・ボックスを選択またはクリアすることによって、ここに表示されているイベントを使用可能および使用不可に設定できます。 |