14.5.2. 基本の JMS 設定
概要
JMS アドレス情報は、jms:address
要素とその子 (jms:JMSNamingProperties
要素) を使用して提供されます。jms:address
要素の属性は、JMS ブローカーおよび宛先を識別するのに必要な情報を指定します。jms:JMSNamingProperties
要素は、JNDI サービスへの接続に使用される Java プロパティーを指定します。
JMS 機能を使用して指定された情報は、エンドポイントの WSDL ファイルの情報を上書きします。
JMS アドレスの指定
JMS エンドポイントの基本設定は、jms:address
要素をサービスの port
要素の子として使用して行われます。WSDL で使用される jms:address
要素は、設定ファイルで使用されるものと同じです。その属性は、表14.2「JMS エンドポイント属性」 に一覧表示されます。
属性 | 説明 |
---|---|
JMS 宛先が JMS キューまたは JMS トピックであるかどうかを指定します。 | |
JMS 宛先に接続するときに使用する JMS 接続ファクトリーにバインドされた JNDI 名を指定します。 | |
要求の送信先の JMS 宛先の JMS 名を指定します。 | |
応答が送信される JMS 宛先の JMS 名を指定します。この属性を使用すると、ユーザー定義の宛先を返信に使用できます。詳細は 「名前付き応答宛先の使用」 を参照してください。 | |
要求の送信先の JMS 宛先にバインドされた JNDI 名を指定します。 | |
応答が送信される JMS 宛先にバインドされた JNDI 名を指定します。この属性を使用すると、ユーザー定義の宛先を返信に使用できます。詳細は 「名前付き応答宛先の使用」 を参照してください。 | |
JMS ブローカーに接続するときに使用するユーザー名を指定します。 | |
JMS ブローカーに接続するときに使用するパスワードを指定します。 |
jms:address
WSDL 要素は、jms:JMSNamingProperties
子要素を使用して、JNDI プロバイダーへの接続に必要な追加情報を指定します。
JNDI プロパティーの指定
JMS および JNDI プロバイダーとの相互運用性を高めるために、jms:address
要素には子要素 jms:JMSNamingProperties
があり、JNDI プロバイダーへの接続時に使用されるプロパティーの設定に使用される値を指定できます。jms:JMSNamingProperties
要素には、name
と value
の 2 つの属性があります。name
は設定するプロパティーの名前を指定します。value
属性は、指定されたプロパティーの値を指定します。JMS:JMSNamingProperties
要素は、プロバイダー固有のプロパティーの仕様にも使用できます。
以下は、設定可能な一般的な JNDI プロパティーの一覧です。
-
java.naming.factory.initial
-
java.naming.provider.url
-
java.naming.factory.object
-
java.naming.factory.state
-
java.naming.factory.url.pkgs
-
java.naming.dns.url
-
java.naming.authoritative
-
java.naming.batchsize
-
java.naming.referral
-
java.naming.security.protocol
-
java.naming.security.authentication
-
java.naming.security.principal
-
java.naming.security.credentials
-
java.naming.language
-
java.naming.applet
これらの属性で使用する情報の詳細については、JNDI プロバイダーのドキュメントを確認し、JavaAPI リファレンス資料を参照してください。
例
例14.6「JMS WSDL ポート仕様」 は、JMS WSDL port
仕様の例を示しています。
例14.6 JMS WSDL ポート仕様
<service name="JMSService"> <port binding="tns:Greeter_SOAPBinding" name="SoapPort"> <jms:address jndiConnectionFactoryName="ConnectionFactory" jndiDestinationName="dynamicQueues/test.Celtix.jmstransport" > <jms:JMSNamingProperty name="java.naming.factory.initial" value="org.activemq.jndi.ActiveMQInitialContextFactory" /> <jms:JMSNamingProperty name="java.naming.provider.url" value="tcp://localhost:61616" /> </jms:address> </port> </service>