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

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

JMSReply ノード

JMSReply ノードを使用して、JMS 宛先にメッセージを送信します。

このトピックには、以下のセクションが含まれています。

目的

JMSReply ノードには、JMSOutput ノードと類似の機能がありますが、JMSReply ノードは、JMS メッセージ・ツリーの JMSReplyTo ヘッダー・フィールドで提供されている応答宛先にのみ、JMS メッセージを送信します。 メッセージ・フローから生成される JMS メッセージを JMS 入力メッセージへの応答として扱い、他にルーティング要件がない場合、JMSReply ノードを使用します。

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

JMSReply ノード・アイコン

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

JMSInput ノード・メッセージが、MyJMSInputQueue と呼ばれる JMS 宛先から Point-to-Point メッセージを取得するメッセージ・フローを作成する、という状況について考えます。 メッセージ・フローはメッセージの内容を使用してデータベースを更新します。それから MyJMSReplyQueue と呼ばれる JMS 宛先に応答します。この宛先は、入力メッセージの JMSReplyTo ヘッダーでアプリケーションを生成することによって設定されます。

パブリッシュ/サブスクライブ メッセージ・モデルの類似のシナリオで、JMSInput ノードは TopicA をサブスクライブし、JMSReply ノードは TopicB 宛先 (入力メッセージの JMSReplyTo ヘッダーから取得した) でパブリッシュします。

出力メッセージ・コールバック関数の呼び出し

cciOutputMessageCallback 関数は、コールバックとして登録することができ、メッセージが JMSReply ノードから送信されるたびに呼び出されます。 cciOutputMessageCallbackを参照してください。

ユーザー出口の状態がアクティブの場合、cciOutputMessageCallback 関数は、コールバックが登録されている JMSReply ノードから正常に送信される出力メッセージごとに呼び出されます。

ノードが LocalEnvironment ツリーで WrittenDestination 情報を提供する場合、コールバックはこの情報が作成された後に起動されます。 JMSOutput ノードと JMSReply ノードでの LocalEnvironment 変数の使用を参照してください。

JMS メッセージ ID の処理

JMS メッセージ ID は、メッセージが JMSReply ノードによって送信されるときに、JMS プロバイダーによって生成されます。 メッセージ・フローでメッセージ ID を設定することはできませんが、以下のいずれかの方式を使用して、メッセージが送信された後に生成 ID を入手することができます。
  • Compute ノードを Out ターミナルに接続します。

    Compute ノードを JMSReply ノードの Out ターミナルに接続し、WrittenDestination リストを問い合わせます。 詳しくは、トレース出力に論理メッセージ・ツリーを表示するを参照してください。

    JMSReply ノードの項目の形式は次のとおりです。
    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 ファイルに追加してデプロイするとき、値を変更できる) かどうかを示します。

JMSReply ノードの「説明」プロパティーについては、次の表に説明されています。
プロパティー M C デフォルト 説明
ノード名 いいえ いいえ ノード・タイプ ノードの名前。
簡略説明 いいえ いいえ   ノードの簡単な説明
詳細説明 いいえ いいえ   メッセージ・フロー内のノードの目的を説明するテキスト
JMSReply ノードの基本プロパティーについては、次の表に説明されています。
プロパティー M C デフォルト 説明 mqsiapplybaroverride コマンド・プロパティー
ローカル環境にある宛先リストへ送信する いいえ はい 選択されていない ローカル環境に JMS 宛先のリスト作成した場合、このチェック・ボックスを選択して宛先リストを使用します。 このチェック・ボックスを選択しなかった場合、ノードは構成済みの JMS 宛先を使用します。 このチェック・ボックスを選択してもローカル環境に JMS 宛先を作成しなかった場合、ノードは構成済みの JMS 宛先を使用します。 useDistList
JMSReply ノードの「JMS 接続」プロパティーについては、次の表に説明されています。
プロパティー M C デフォルト 説明 mqsiapplybaroverride コマンド・プロパティー
JMS プロバイダー名 はい いいえ WebSphere MQ リストから JMS ベンダー名を選択するか、または独自に選択した名前を入力します。 リストから名前を選択すると、「初期コンテキスト・ファクトリー」プロパティーが、関連する Java™ クラスを使用して自動的に更新されます。 独自の JMS プロバイダー名を使用する場合、「初期コンテキスト・ファクトリー」の値も入力する必要があります。 デフォルト値は WebSphere MQ です。

あるいは、JMSProviders 構成可能サービスを指定することができます。

 
初期コンテキスト・ファクトリー いいえ はい
com.sun.jndi.fscontext. 
RefFSContextFactory
このプロパティーが JNDI ネーム・スペースの開始点です。 JMS アプリケーションは初期コンテキストを使用して、JMS プロバイダーの接続ファクトリーおよびキューまたはトピック・オブジェクトを取得および検索します。 「JMS プロバイダー名」のリストから JMS プロバイダー名を選択すると、関連する Java クラスに基づいて「初期コンテキスト・ファクトリー」プロパティーが自動的に更新されます。 独自の JMS プロバイダー名を使用する場合、「初期コンテキスト・ファクトリー」の値も入力する必要があります。
デフォルト値は、
com.sun.jndi.fscontext.
RefFSContextFactory
であり、WebSphere MQ JMS プロバイダー用のファイル・ベースの初期コンテキスト・ファクトリーを定義します。

独自の JMS プロバイダーを使用するようにノードを設定した場合に、mqsichangeproperties 定義の対応する構成可能サービス・プロパティーInitialContextFactory 属性を設定すると、その値によってノードの設定が指定変更されます。

initialContextFactory
ロケーション JNDI バインディング いいえ はい   このプロパティーは、バインディング・ファイルのファイル・システム・パスまたは LDAP ロケーションのどちらかを指定します。 バインディング・ファイルには、JMSReply ノードで使用される JNDI 管理対象オブジェクトの定義が含まれています。

「ロケーション JNDI バインディング」の値を入力するとき、 それが以下の指示に従っていることを確認してください。

  • JMSReply ノードを含むメッセージ・フローをデプロイする前に、バインディング・ファイルを作成します。
  • このフィールドには、バインディング・ファイルのファイル名を入力しないでください。
  • 認証の必要な LDAP ロケーションを指定した場合、LDAP プリンシパル (ユーザー ID) および LDAP 信任状 (パスワード) の両方を個別に構成してください。 これらの値は、ブローカー・レベルで構成されます。 これらの値の構成方法については、mqsicreatebroker コマンドおよび mqsichangebroker コマンドを参照してください。
  • ストリング値には、クラスパスで使用可能な URL ハンドラーを持つサポートされた URL 接頭部を含める必要があります。

JNDI 管理対象オブジェクトのバインディング・ファイルの作成方法については、JMS プロバイダーに付属の資料を参照してください。

独自の JMS プロバイダーを使用するようにノードを設定した場合に、mqsichangeproperties 定義の対応する構成可能サービス・プロパティーjndiBindingsLocation 属性を設定すると、その値によってノードの設定が指定変更されます。

locationJndiBindings
接続ファクトリー名 いいえ はい   JMSReply ノードによって JMS プロバイダーへの接続を作成するために使用される、接続ファクトリーの名前。 この名前は、バインディング・ファイル内にすでに存在している必要があります。 connectionFactoryName
JMSReply ノードの拡張プロパティーについては、次の表に説明されています。
プロパティー M C デフォルト 説明
新規相関 ID いいえ はい 選択されていない JMSReply ノードでメッセージの新しい相関 ID を生成する必要がある場合、このチェック・ボックスを選択します。 このチェック・ボックスはデフォルトではクリアされています。チェック・ボックスをクリアされた状態のままにしておくと、出力メッセージの相関 ID は、メッセージ・ツリーの JMSTransport_Header_Values セクションにある JMSCorrelationID フィールドから取り出されます。
トランザクション・モード いいえ いいえ いいえ
このプロパティーは、メッセージを JMS トランザクション下で受信するかどうかを制御します。 有効な値は Yes および No です。
  • 非トランザクション JMS セッションを使用してメッセージを受信するには、No を選択します。
  • トランザクション JMS セッションを使用してメッセージを受信するには、Yes を選択します。 JMS トランザクションは、ローカルまたは XA 整合のどちらかが可能です。 XA JMS セッションを使用して XA 整合トランザクションを使用するには、BAR ファイル・プロパティーで、「メッセージ・フロー」プロパティーの「整合トランザクション」を選択する必要もあります。 整合 JMS トランザクションの構成を参照してください。
JMSReply ノードの「トランザクション・モード」の値セットは、「トランザクション・モード」「自動」に設定された、メッセージ・フローのダウンストリーム・ノードによって継承されます。 DB2® や WebSphere MQ など、メッセージ・フロー内の作業を実行する他のリソースは、ノードの「トランザクション・モード」設定にかかわらずトランザクションを使用し、メッセージが処理された後にトランザクションをコミットします。
デリバリー・モード いいえ はい 自動 このプロパティーは、JMS プロバイダーがメッセージに使用する持続モードを制御します。 有効な値は以下のとおりです。
  • 「自動」: 入力メッセージのモードが継承されます。
  • 「持続」: JMS プロバイダーにシステム障害がある場合、メッセージは存続します。
  • 「非持続」: JMS プロバイダーにシステム障害がある場合、メッセージは失われます。
メッセージ有効期限 (ms) はい はい 0 このプロパティーは、JMS プロバイダーが出力 JMS メッセージを保持する期間をミリ秒単位で制御します。 デフォルト値の 0 は、メッセージの有効期限が切れないことを示します。
「ヘッダーから継承」を選択するか、ミリ秒数を表す整数を入力します。 「ヘッダーから継承」を選択すると、プロパティーは JMS メッセージ中の JMSExpiry フィールドの値を継承します。この値は以下の場所にあります。
OutputRoot.JMSTransport.Transport_Folders.Header_Values.JMSExpiration
メッセージ優先順位 いいえ はい 4 このプロパティーはメッセージに相対重要度を割り当て、受信 JMS クライアント・アプリケーションまたは JMSReply ノードによるメッセージ選択に使用できます。

0 (最低優先順位) から 9 (最高優先順位) までの間の値を選択するか、「ヘッダーから継承」を選択します。

デフォルト値は、中間の優先順位を示す 4 です。 0 から 4 までの範囲の優先順位は、通常の配信に関連したものです。 5 から 9 までの範囲の優先順位は、急ぎの配信のための目盛りです。 「ヘッダーから継承」を選択すると、プロパティーは JMS メッセージ中の JMSPriority フィールドの値を継承します。この値は以下の場所にあります。
OutputRoot.JMSTransport.Transport_Folders.Header_Values.JMSPriority
メッセージ・タイプ いいえ はい TextMessage このプロパティーは JMS 出力メッセージのクラスを制御します。 デフォルト値は TextMessage です。有効な値は以下のとおりです。
  • TextMessage
  • BytesMessage
  • MapMessage
  • StreamMessage
  • ObjectMessage
  • ペイロードのない基本 JMS メッセージ
このプロパティーを設定しない場合、ノードは JMS メッセージ・ツリーにあるメタデータ PayLoadType フィールドからの出力タイプを受け入れます。
JMSReply ノードの「妥当性検査」プロパティーについては、次の表に説明されています。 これらのプロパティーの詳細については、妥当性検査プロパティーを参照してください。
プロパティー M C デフォルト 説明 mqsiapplybaroverride コマンド・プロパティー
妥当性検査 いいえ はい 継承 このプロパティーは、妥当性検査を行うかどうかを制御します。 有効な値は以下のとおりです。
  • なし
  • 内容と値
  • 内容
  • 継承
メッセージがノードの Failure ターミナルに伝搬される場合には、妥当性検査は行われません。
validateMaster
失敗時の処置 いいえ いいえ 例外 このプロパティーは、妥当性検査が失敗した場合の動作を制御します。 「妥当性検査」「内容」または「内容と値」に設定した場合にのみ、このプロパティーを設定できます。 有効な値は以下のとおりです。
  • ユーザー・トレース
  • ローカル・エラー・ログ
  • 例外 (デフォルト値)
  • 例外リスト
 
ノードのモニター・プロパティーが、次の表に説明されています。
プロパティー M C デフォルト 説明
イベント いいえ いいえ なし ノードに対して定義したイベントが、このタブに表示されます。 デフォルトでは、メッセージ・フローのどのノードに対してもモニター・イベントは定義されません。 ノードのモニター・イベントを作成、変更、または削除するには、「追加」「編集」、および「削除」を使用します。詳しくは、モニター・プロパティーを使用したモニター・イベント・ソースの構成を参照してください。

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

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

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

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


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