createQueue または createTopic メソッドおよびデフォルトのメッセージング・プロバイダー

デフォルトのメッセージング・プロバイダーを用いて JMS キューまたは JMS トピックを作成するために、JNDI 検索を使用する代わりに Session.createQueue(String) メソッドまたは Session.createTopic(String) メソッドを使用できます。

アプリケーションは、InitialContext.lookup() メ ソッドを使用して、管理対処オブジェクトを取得することができます。JNDI ルックアップにより、 管理上定義された JMS 宛先オブジェクトを取得する代替方法として 、Session.createQueue(String) メソッド または Session.createTopic(String) メソッドを使用する方法がありますが 、この場合は管理が難しくなります。以下に例を示します。
Queue q = mySession.createQueue("Q1");
既存の宛先 Q1 を参照するために使用できる JMS キュー・インスタンスを作成します。

デフォルトのメッセージング・プ ロバイダーの使用により、既存の宛先は、セッションの接続先のバス上のキ ューまたはトピック・スペースとして存在します。

createQueue

Session.createQueue(String) メ ソッドは、既存の宛先を表す JMS キュー・オブジェクトを作成するために使用します。 この方法は、JNDI 検索により、管理上定義された JMS キ ュー・オブジェクトを取得する代替方法になりますが、この場合は管理が難 しくなります。

単純フォーム
最も単純なフォームでは、createQueue メソッドのパラメータ ーは、セッションの接続先のバス上にある既存の宛先の名前です。例えば、Q1 という名前のキューがある場 合は、以下のメソッドにより、その宛先を参照するために使用できる JMS キュ ー・インスタンスが作成されます。
Queue q = mySession.createQueue("Q1");
URI フォーム
さらに複雑な状況では、アプリケーションは URI ベースのフォーマッ トを使用することができます。URI フォーマットでは、Queue オブジェクトの各種プ ロパティーを設定するために、任意の数の名前と値のペアを指定することができます。 キュー URI は、プレフィックス queue:// とそれに続く宛先の 名前で示されます。前述の Q1 の単純フォームは次の URI で表すことができます。
Queue q = mySession.createQueue("queue://Q1");
名前と値のペアは疑問符 ? を用いて導入されます。例えば、アプリケーションは セッションを 1 つのバスに接続した後、以下のフォーマットを使用して 、otherBus という異なるバス上に Q2 の JMS キュー・インスタンスを作成 することができます。
Queue q = mySession.createQueue("queue://Q2?busName=otherBus");
IBM MQ にメッセージを送信する際には、キュー名に続いてアットマーク (@)、およびキューが配置されているキュー・マネージャーの名前を指定する必要があります。例えば、以下のようになります。
Queue q = mySession.createQueue("queue://Q2@qmgr?busName=otherBus");
複数の名前と値のペアは、アンパーサンド文字 & で 区切ります。例えば、次のようになります。
Queue q = mySession.createQueue("queue://Q2?busName=otherBus&deliveryMode=
Application&readAhead=AsConnection&priority=6");
プロパティー
busNamedeliveryModepriorityreadAhead、 および timeToLive。 これらのプロパティーの説明については、生成された API 情報を参照してください。

createTopic

Session.createTopic(String) メ ソッドは、既存の宛先を表す JMS トピック・オブジェクトを作成するため に使用します。(注: トピックとは、存在するトピックではなく、トピック・スペ ースのことです。)この方法は、JNDI 検索により、管理上定義された JMS ト ピック・オブジェクトを取得する代替方法になりますが、この場合は 管理が難しくなります。

単純フォーム
最も単純なフォームでは、createTopic メソッドのパラメーターは、 セッションの接続先のバス上にあるデフォルト・トピック・スペース内の トピックの名前です。例えば、デフォルト・トピック・スペースが存在する場合、 デフォルト・トピック・スペースの cats トピックを参照するために 使用できる JMS トピック・インスタンスは次のようになります。
Topic t = mySession.createTopic("cats");
デフォルト以外のトピック・スペースを指定するには、 topicSpace:topic という書式の特殊構文を使用することができます。以下に例を示します。
Topic t = mySession.createTopic("kennelTopicSpace:dogs");
URI フォーム
さらに複雑な状況では、URI ベースのフォーマットを使用することができます。トピック URI は、プレフィックス topic:// とそれに続くトピックの名前で示されます。前の例は、次の URI とし て表すことができます。
Topic t = mySession.createTopic("topic://cats");

Topic t = mySession.createTopic("topic://dogs?topicSpace=kennelTopicSpace");

キューと同様に、複数の名前と値のペアは、アンパーサンド & で区切ります。

プロパティー
busNamedeliveryModepriorityreadAheadtimeToLive、および topicSpace。 これらのプロパティーの説明については、生成された API 情報を参照してください。

MA88 URI のサポート

WebSphere® Application Server バージョン 5.1 アプリケーションは、createQueue および createTopic メソッドを使用して、バージョン 5 組み込みメッセージング・プロバイダー (バージョン 5.1 JMS メッセージング・プロバイダー) を用いて JMS キューおよびトピック・オブジェクトを作成することができます。これらのアプリケーションのマイグレーションを支援するために、 デフォルト・メッセージング・プロバイダー (サービス統合バス) は、createQueue および createTopic メソッドに対する有効な MA88 固有のストリング・パラメーターのラージ・サブセットを提供します。

デフォルト・キュー・マネージャー
キューの MA88 URI には、キュー・マネージャーの名前が含まれます 。例えば、次のようになります。
queue://qm/queue

デフォルトのキュー・マネージャーを指定するには、キュー・マネージャー名を省略します。例: queue:///queue (3 つのスラッシュ文字、/// に注意してください)。 デフォルトのキュー・マネージャーの解釈は、現行バス上のキューの概念と論理的に整合しているため、バスは、queue: プレフィックスの後に 3 文字のスラッシュ文字があることを許容します。 これにより、変更を行わなくても、バスでデフォルトのキュー・マネージャーを指定した MA88 キュー URI を使用できます。

デフォルト以外のキュー・マネージャー
MA88 キュー URI が、queue://qm/queue のように、デフォルト以外のキュー・マネージャーを指定している場合、これはバスではあいまいな解釈になります。潜在的な問題を強調し、移植プロセス中に宛先が考慮されるように、そのような URI が createQueue() メソッドに渡された場合には JMSException が生成されます。
MA88 プロパティー
バス の URI と同様に、MA88 URI には宛先プロパティーを指定 する多くの名前と値のペアを含めることができます。MA88 固有のプロパティーの多くは、バスのプロパティーに直接相当するものを持たず、自動的に無視されます。しかし、以下の MA88 プロパティーはバスの同等物にマップされます。
MA88 での名前 サービス統合バス名 注意
expiry timeToLive
persistence deliveryMode

1 = 非パーシスタント
2 = パーシスタント
その他 = アプリケーション

トピック・ワイルドカード変換

メッセージを使用するために 用いるトピックには、ワイルドカードを含めることができます。MA88 で使用するワイルドカード構文はバスで使用する XPath 構文とは異なるため、MA88 URI にワイルドカードが含まれている場合、バスはそれらの XPath のワイルドカードへの変換を試みます。実行される変換は、MA88 URI の中の brokerVersion プロパ ティーの有無によって異なります。WebSphere Application Server バージョン 5.1 のデフォルト・メッセージング・プロバイダーでは、トピック・ワイルドカードを指定した URI で、brokerVersion=1 を 名前と値のペアに含める必要がありました。そのため、バスでは、brokerVersion=1 をトリガーとして使用して、MQSI から XPath へのワイルドカード変換を実行します。

大/小文字の区別

createQueue および createTopic のストリング・パラメーターのすべての部分では、大/小文 字が区別されます。

同じプロパティーの複数インスタンス

URI に、 競合する値を備えた特定のプロパティーの複数オカレンスが含まれている場合は、 どの値を使用するかが指定されません。

MA88 プロパティーとバスのプロパティーの競合

URI に、 競合する値を備えたプロパティーとそのプロパティーの MA88 同等物が含まれてい る場合は、どの値を使用するかが指定されません。

不明プロパティー

プロパティー名が認識されない名 前と値のペアはすべて無視され、エラー報告はありません。

エスケープ特殊文字

以下の文字は、createQueue および createTopic ストリング・パラメーターの中で特に重要です。
: (コロン)
これは、トピック・スペースと簡易書式トピック・ストリングのトピ ックとの間の分離文字として使用します。
? (疑問符)
これは、名前と値のペアの開始を示すために使用します。
& (アンパーサンド)
これは、複数の名前と値のペアを分離するために使用します。
URI の中にこれらの値のいずれかを使用したい場 合は、円記号 ¥ をプレフィックスとして使用する必要があります。¥ 文字は、2 つ重ねる (¥¥) ことでエスケープすることもできます。 注: ¥ 文字は Java™ では特殊文字として扱われるため、 文字ストリング定数に配置する際は 2 つ重ねる必要があります。 例えば、次のようになります。
createTopic("myTop¥¥:ic")                      名前「myTop:ic」のトピックを作成
createTopic("topic://my¥¥?Topi¥¥¥¥c")             名前 "my?Topi¥c" を使用してトピックを作成
createQueue("queue://q1?busName=silly¥¥&bus")     バス名 "silly&bus" を使用してキューを作成

トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rjn0001_
ファイル名:rjn0001_.html