JMS 端点 URL 语法
Java™ 消息服务 (JMS) 端点 URL 语法已定义为新兴业界标准 SOAP over JMS 协议的一部分。JMS 端点 URL 用于通过 JMS 传输来访问 Java API for XML Web Services (JAX-WS) 或 Java API for XML-based RPC (JAX-RPC) Web Service。此 URL 指定 JMS 目标和连接工厂,以及 Web Service 请求的端口组件名称。此端点 URL 类似于 HTTP 端点 URL,它指定了主机和端口以及上下文根和端口组件名称。

IBM® 和其他供应商自 2005 年以来都一直致力于 W3C SOAP over JMS 规范的工作。已将规范提交到 W3C 且建立工作组。当前成员提交的此文档已于 2007 年 10 月联合发布。应用程序服务器支持来自 W3C 的当前草稿规范。

jms:jndi:<destination-jndi-name>?<property>=<value>&<property>=<value>&...
URL 包含 jms: 传输类型,其后依次是 jndi: 变体类型、目标队列或主题的 JNDI 名称以及查询字符串(包含用来指定各种 JMS 端点信息的“属性与值”对的列表)。jndi: 变体意味着 JNDI 用来在端点 URL 字符串中定位对象名。sptcfgURL 字符串中支持的属性在以下各表中描述:
属性名 | 描述 |
---|---|
jndiConnectionFactoryName | 指定客户机运行时用来建立与 JMS 消息传递引擎的连接的连接工厂 JNDI 名称。 |
targetService | 指定请求所分派到的端口组件的名称。 |
属性名 | 描述 |
---|---|
jndiInitialContextFactory | 指定要使用的初始上下文工厂类的名称。此值映射到 java.naming.factory.initial 属性。 |
jndiURL | 指定 JNDI 提供程序 URL。此值映射到 java.naming.provider.url 属性。 |
属性名 | 描述 |
---|---|
deliveryMode | 表示请求消息是否是持久的。有效值为 PERSISTENT 和 NON_PERSISTENT。缺省值为 NON_PERSISTENT。 |
timeToLive | 指定请求消息的生存期(以毫秒计)。值 0 表明无限的生存期。如果未指定此参数,那么将使用 JMS 定义的缺省值。 |
priority | 指定与请求消息关联的 JMS 优先级。将此值指定为从 0(最低优先级)到 9(最高优先级)之间的正整数。如果未指定此参数,那么将使用 JMS 定义的缺省值。 |
replyToName | 指定响应消息所发往的 JMS 目标的 JNDI 名称。使用此可选属性时可让客户机使用先前定义的持久队列而不是临时队列来接收应答。 |
messageType | 指定要与请求消息配合使用的消息类型。值 BYTES 指示使用 javax.jms.BytesMessage 对象。值 TEXT 指示使用 javax.jms.TextMessage 对象。缺省值为 BYTES。 |
必需属性 jndiConnectionFactoryName 和 targetService 必须在 JMS 端点 URL 字符串中。其余属性是可选的。
如果在 JMS 请求中设置了 deliveryMode、timeToLive 和优先级属性,那么这些值就会从 JMS 请求消息传播到相应的 JMS 应答消息。
请参阅“Web Service 规范和 API”文档中的 SOAP over Java 消息服务规范,以了解此业界标准的更多相关信息。