このトピックには、以下のセクションが含まれています。
JMSOutput ノードを使用して、JMS 宛先にメッセージを送信します。 JMSOutput ノードは JMS メッセージ・プロデューサーと同じように機能して、 Java Message Service Specification、バージョン 1.1 (Java Message Service Specification, version 1.1) で定義された 6 つのメッセージ・タイプのすべてをパブリッシュすることができます。 メッセージは、JMS 仕様で説明されているメソッド呼び出しを使用してパブリッシュされます。
ワークベンチでは、JMSOutput ノードは次のアイコンで表されます。
JMS プロバイダーへの接続から受け取ったメッセージを処理するメッセージ・フローは、 常に JMSInput ノードで開始する必要があります。 JMSOutput ノードをメッセージ・フロー内に含める場合、JMSInput ノードを含める必要はありませんが、JMSInput ノードを組み込まない場合、MQJMSTransform ノードを組み込んで、JMSOutput ノードが予期する形式にメッセージを変換する必要があります。
JMS メッセージを伝搬させてサブフローとして使用するメッセージ・フローを作成する場合には、 JMSOutput ノードのインスタンスを最後のノードとして使用して、サブフロー用の out ターミナルを作成する必要があります。
分散システムでは、java .jar ファイルおよび JMS プロバイダー・クライアントのネイティブ・ライブラリーをブローカー共用クラス・ディレクトリーにコピーします。 たとえば、Windows では、C:¥Documents and Settings¥All Users¥Application Data¥IBM¥MQSI¥shared-classes などです。 これにより、JMS ノードの java クラスが正しく設定されることを確認できます。
queue://QM_mn2/myJMSQueue4この場合の値は、WMQSeries JMS プロバイダーの JMS 宛先の、JMS プロバイダー固有の表記になります。
jndi:¥¥jmsQ4jmsQ4 は、JNDI 管理対象オブジェクトの名前です。
この方式を使用すると、JNDI で管理対象オブジェクトを検索する必要が生じるため、パフォーマンスに若干のオーバーヘッドがかかります。
出力メッセージの JMSReplyTo プロパティーを JMSOutput ノードが動的に設定できるようにしたい場合、「宛先に応答」属性をブランクのままとし、Compute ノードまたは JavaCompute ノードを使って MbMessage の JMSReplyTo 値を設定します。
ノードは JNDI 管理対象オブジェクトの名前 (「パブリケーション・トピック」または「宛先キュー」のどちらかに指定したもの) を解決し、その JMS 宛先にメッセージを送信します。
JMSOutput ノードのインスタンスをメッセージ・フローに入れる際、 エディター・ビューでノードを右クリックし、「プロパティー」をクリックすることによって JMSOutput ノードを構成することができます。 ノードの基本プロパティーが、プロパティー・ダイアログに表示されます。
デフォルト値が定義されていないすべての必須プロパティーには、プロパティー・ダイアログ・ボックスでアスタリスクのマークが付きます。
以下のように JMSOutput ノードを構成します。
デフォルト値は com.sun.jndi.fscontext.RefFSContextFactory であり、 これは WebSphere MQ JMS プロバイダー用の、ファイル・ベースの初期コンテキスト・ファクトリーを定義します。
JMS プロバイダーの初期コンテキスト・ファクトリーの名前を識別するには、JMS プロバイダーの資料を参照してください。
「ロケーション JNDI バインディング」の値を入力するとき、 それが以下の指示に従っていることを確認してください。
JNDI 管理対象オブジェクトのバインディング・ファイルの作成方法については、 JMS プロバイダーに付属の資料を参照してください。
デフォルト値はブランクで、この場合は JMS 出力メッセージをデータグラムとして扱うことができます。 フィールドがブランクの場合、JMSOutput ノードは受信 JMS クライアントからの応答を予期しません。
この値をミリ秒で入力すると、メッセージが JMS プロバイダーによって保持される期間が指定されます。 デフォルト値の 0 は、メッセージの有効期限が切れないことを示します。
値を入力します。 メッセージ優先順位の有効な値は、0 (最低) から 9 (最高) までです。 デフォルト値は、中間の優先順位を示す 4 です。 0 から 4 までの範囲の優先順位は、通常の配信に関連したものです。 5 から 9 までの範囲の優先順位は、急ぎの配信のための目盛りです。
詳細については、メッセージの妥当性検査およびMRM ドメインのメッセージの妥当性検査プロパティーを参照してください。
「キャンセル」をクリックすると、ダイアログ・ボックスを閉じてプロパティーに対して行った変更をすべて破棄します。
JMSOutput ノードの in ターミナルを、ルーティングされるアウトバウンド・メッセージの元になるノードに接続します。
メッセージをさらに処理したい場合、エラーを処理したい場合、あるいはメッセージを追加の宛先に送信したい場合は、このノードの out ターミナルをメッセージ・フローの別のノードに接続します。
メッセージ・フローに JMSOutput ノードを組み込む場合、 「トランザクション・モード」で設定した値が、 メッセージを同期点下で送信するかどうかを定義します。
JMS プロバイダーは、トランザクション・サポートに必要な追加の jar ファイルを提供できます。 JMS プロバイダーの資料を参照してください。 例えば、分散システムで、WebSphere MQ JMS プロバイダーは追加の jar ファイル com.ibm,mqetclient.jar を提供します。これはブローカー shared_classes ディレクトリーにも追加する必要があります。 このトピック内の『JMS プロバイダーのクライアントを JMS ノードで使用可能にする』を参照してください。
install_dir/bin/ JMSSwitch.dll XAOpenString=Initial Context,location JNDI,Optional_parms ThreadOfControl=THREAD
XAResourceManager: Name=Jms_Provider_Name SwitchFile=/install_dir/bin/ JMSSwitch.so XAOpenString=Initial Context,location JNDI,Optional_parms ThreadOfControl=THREADここで、
Name は、 JMS プロバイダーのリソース・マネージャーを識別する、インストール済み環境によって定義された名前です。
SwitchFile は、ブローカーの bin ディレクトリーで提供される、JMSSwitch ライブラリーへのファイル・システム・パスです。
オプション・パラメーターは、コンマ区切りで定位置です。 そのため、存在しないパラメーターはコンマで表す必要があります。
<Broker Installation Path>/classes/xarecovery.jar
<Broker Installation Path>/bin
XA は、WebSphere MQ バージョン 5.3、CSD12、および WebSphere MQ バージョン 6.0 フィックスパック 1 まで、 ブローカーおよびプロバイダーに同じキュー・マネージャーを使用できません。
JMS プロバイダーの同期点制御は、ブローカーのキュー・マネージャーの RRS 同期点調整によって管理されます。 .ini ファイルを変更する必要はありません。
JMSOutput ノードのターミナルについては、次の表に説明されています。
ターミナル | 説明 |
---|---|
Failure | エラーが発生した場合にメッセージがルーティングされる出力ターミナル。 「妥当性検査」プロパティーが設定されている場合でも、このターミナルに伝搬されるメッセージは妥当性検査が行われません。 |
Out | WebSphere MQ キューからメッセージが正常に取り出された場合に、 メッセージがルーティングされる出力ターミナル。 |
Catch | 例外がダウンストリームでスローされ、ノードによってキャッチされた場合に、メッセージがルーティングされる出力ターミナル。 |
以下の表でノードのプロパティーを説明します。M の見出しの列は、 プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、 プロパティー・ダイアログにアスタリスクのマークが付きます)。C の見出しの列は、 プロパティーが構成可能 かどうかを示します (メッセージ・フローを bar ファイルに追加してデプロイするとき、 値を変更できます)。
JMSOutput ノードの基本プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
初期コンテキスト・ファクトリー | はい | com.sun.jndi.fscontext.RefFSContextFactory | これが JNDI ネーム・スペースの開始点です。
JMS アプリケーションは初期コンテキストを使用して、JMS プロバイダーの接続ファクトリーおよびキューまたはトピック・オブジェクトを取得および検索します。
デフォルト値は、WebSphere MQ Java が JMS プロバイダーとして使用されるときのものと同じです。 |
|
ロケーション JNDI バインディング | いいえ | バインディング・ファイルのシステム・パスまたは LDAP ロケーション。 | ||
接続ファクトリー名 | いいえ | JMSOutput ノードによって JMS プロバイダーへの接続を作成するために使用される、接続ファクトリーの名前。 |
JMSOutput ノードのパブリッシュ/サブスクライブ・プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
パブリッシャー・トピック | いいえ | ノードがパブリッシュされたメッセージを受け取るトピックの名前。 |
JMSOutput ノードの Point to Point プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
宛先キュー | いいえ | ノードが出力メッセージをパブリッシュするキューの名前。 |
JMSOutput ノードの要求プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
宛先モード | いいえ | 宛先名 | このプロパティーは、着信メッセージをデータグラムの要求として扱うか、 または応答として扱うかを決めるために使用されます。 | |
宛先に応答 | いいえ | この値は、受信アプリケーションが応答メッセージを送る必要のある JMS 宛先の名前です。 応答メッセージがこの JMS 宛先に戻されるようにするには、 この JMS 宛先名が、受信クライアントが使用する JMS プロバイダーのドメインに知られている必要があります。 |
JMSOutput ノードの拡張プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
新規相関 ID | いいえ | このプロパティーは、「新規相関 ID」が必要な場合に選択されます。 | ||
トランザクション・モード | はい | いいえ | 「なし」 | このプロパティーは、着信メッセージを同期点下で受信するかどうかを決めるためのものです。有効な値は、「なし」、「ローカル」、および「グローバル」です。 |
デリバリー・モード | いいえ | 非持続 | メッセージ・デリバリー・モードに応じてメッセージをフィルターに掛けるメッセージ・セレクター。 | |
メッセージ有効期限 | いいえ | 0 | このプロパティー値は、JMS プロバイダーが出力 JMS メッセージを指定の時間保持するように要求するためのものです。
値はミリ秒で指定し、デフォルト値の 0 は、メッセージの有効期限が切れないことを示します。 |
|
メッセージ優先順位 | いいえ | 4 | このプロパティー値は、メッセージに相対的な重要度を割り当てます。 この値は受信 JMS クライアント・アプリケーションまたは JMSOutput ノードにより、メッセージ選択に使用できます。 |
JMSOutput ノードの妥当性検査プロパティーについては、次の表に説明されています。
これらのプロパティーの詳細については、MRM ドメインのメッセージの妥当性検査プロパティーを参照してください。プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
妥当性検査 | はい | はい | 「なし」 | このプロパティーは、妥当性検査を行うかどうかを決めます。 有効な値は、「なし」、「内容」、および「内容と値」です。 |
失敗処置 | はい | いいえ | 例外 | このプロパティーは、妥当性検査が失敗した場合の動作を決めます。 「妥当性検査」を「内容」または「内容と 値」に設定した場合にのみ、このプロパティーを設定できます。 有効な値は、「ユーザー・トレース」、「ローカル・エラー・ログ」、「例外」、および「例外リスト」です。 |
すべての値制約を含める | はい | いいえ | 選択されている | このプロパティーは編集できません。 チェック・ボックスが選択されていることにより示されるデフォルトのアクションは、基本値制約検査が「内容と値」妥当性検査に含まれるということです。 |
修正 | はい | いいえ | 「なし」 | このプロパティーは編集できません。 |
JMSOutput ノードの説明プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
簡略説明 | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |