Menu Close

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 エンドポイント属性」 にリストされています。

表14.2 JMS エンドポイント属性

属性説明

destinationStyle

JMS 宛先が JMS キューまたは JMS トピックであるかどうかを指定します。

jndiConnectionFactoryName

JMS 宛先への接続時に使用する JMS コネクションファクトリーにバインドされた JNDI 名を指定します。

jmsDestinationName

リクエストが送信される JMS 宛先の JMS 名を指定します。

jmsReplyDestinationName

応答が送信される JMS 宛先の JMS 名を指定します。この属性を使用すると、返信にユーザー定義の送信先を使用できます。詳細は、「名前付き返信先の使用」 を参照してください。

jndiDestinationName

リクエストが送信される JMS 宛先にバインドされた JNDI 名を指定します。

jndiReplyDestinationName

応答が送信される JMS 宛先にバインドされた JNDI 名を指定します。この属性を使用すると、返信にユーザー定義の送信先を使用できます。詳細は、「名前付き返信先の使用」 を参照してください。

connectionUserName

JMS ブローカーへの接続時に使用するユーザー名を指定します。

connectionPassword

JMS ブローカーへの接続時に使用するパスワードを指定します。

jms:address WSDL 要素は jms:JMSNamingProperties 子要素を使用して、JNDI プロバイダーへの接続に必要な追加情報を指定します。

JNDI プロパティーの指定

JMS および JNDI プロバイダーとの相互運用性を高めるために、jms:address 要素には子要素 jms:JMSNamingProperties があり、JNDI プロバイダーへの接続時に使用されるプロパティーの設定に使用される値を指定できます。jms:JMSNamingProperties 要素には namevalue の 2 つの属性があります。name は設定するプロパティーの名前を指定します。value 属性は、指定されたプロパティーの値を指定します。jms:JMSNamingProperties 要素は、プロバイダー固有のプロパティーの指定にも使用できます。

以下に、設定できる一般的な JNDI プロパティーのリストを示します。

  1. java.naming.factory.initial
  2. java.naming.provider.url
  3. java.naming.factory.object
  4. java.naming.factory.state
  5. java.naming.factory.url.pkgs
  6. java.naming.dns.url
  7. java.naming.authoritative
  8. java.naming.batchsize
  9. java.naming.referral
  10. java.naming.security.protocol
  11. java.naming.security.authentication
  12. java.naming.security.principal
  13. java.naming.security.credentials
  14. java.naming.language
  15. java.naming.applet

これらの属性で使用する情報の詳細は、JNDI プロバイダーのドキュメントを参照し、Java API リファレンス資料を参照してください。

例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>