14.5.2. 基本 JMS 配置
概述
JMS 地址信息通过 jms:address
元素及其子项提供,即 jms:JMSNamingProperties
元素。jms:address
元素的属性指定识别 JMS 代理和目的地所需的信息。jms:JMSNamingProperties
元素指定用于连接 JNDI 服务的 Java 属性。
使用 JMS 功能指定的信息将覆盖 端点的 WSDL 文件中的信息。
指定 JMS 地址
JMS 端点的基本配置是通过将 jms:address
元素用作 服务端口
元素的子级来实现的。WSDL 中使用的 jms:address
元素与配置文件中所用的相同。其属性列在 表 14.2 “JMS 端点属性” 中。
属性 | 描述 |
---|---|
指定 JMS 目的地是否为 JMS 队列或 JMS 主题。 | |
指定连接到 JMS 目的地时要使用的 JMS 连接工厂的 JNDI 名称。 | |
指定发送到请求的 JMS 目的地的 JMS 名称。 | |
指定发送回复的 JMS 目的地的 JMS 名称。此属性允许您使用定义的用户定义的目的地进行回复。详情请查看 第 14.6 节 “使用 Named Reply Destination”。 | |
指定 JNDI 名称,绑定到发送到请求的 JMS 目标。 | |
指定绑定到发送回复的 JMS 目的地的 JNDI 名称。此属性允许您使用定义的用户定义的目的地进行回复。详情请查看 第 14.6 节 “使用 Named Reply Destination”。 | |
指定连接到 JMS 代理时要使用的用户名。 | |
指定连接到 JMS 代理时使用的密码。 |
jms:address
WSDL 元素使用 jms:JMSNamingProperties
子元素来指定连接到 JNDI 提供程序所需的其他信息。
指定 JNDI 属性
为增加与 JMS 和 JNDI 提供程序的互操作性,jms:address
元素具有一个子元素,jms:JMSNamingProperties
,允许您指定用于连接 JNDI 提供程序时所用的属性的值。jms:JMSNamingProperties
元素有两个属性: name
和 value
。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 供应商文档,并查阅 Java API 参考材料。
示例
例 14.6 “JMS WSDL 端口规格” 显示 JMS WSDL 端口
规格示例。
例 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>