Java 消息服务 (Java Message Service, JMS) API 使用两种被管理对象:
连接工厂,允许应用程序以编程方式创建其他 JMS 对象的对象。
目的地,充当消息的系统信息库
这些对象是以管理方式创建的,创建对象的方式特定于每个 JMS 实现。在 Application Server 中,执行以下任务:
JMS 应用程序使用 JNDI API 来访问连接工厂和目的地资源。通常,JMS 应用程序至少使用一个连接工厂和一个目的地。要了解所需创建的资源,请仔细研究应用程序或向应用程序开发者进行咨询。
连接工厂分为三种类型:
QueueConnectionFactory 对象,用于点对点通信
TopicConnectionFactory 对象,用于发布-订阅通信
ConnectionFactory 对象,可用于点对点通信和发布-订阅通信;建议将这些对象用于新的应用程序
目的地有两种类型:
Queue 对象,用于点对点通信
Topic 对象,用于发布-订阅通信
《The J2EE 1.4 Tutorial》中有关 JMS 的章节提供了这两种通信和 JMS 其他方面的详细信息(请参见 http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html)。
创建资源的顺序并不重要。
对于 J2EE 应用程序,请在 Application Server 部署描述符中指定连接工厂和目的地资源,如下所示:
在 resource-ref 或 mdb-connection-factory 元素中指定连接工厂 JNDI 名称。
在消息驱动的 Bean 的 ejb 元素和 message-destination 元素中指定目的地资源 JNDI 名称。
在企业 Bean 部署描述符的 message-driven 元素或 message-destination-ref 元素内,在 message-destination-link 元素中指定物理目的地名称。此外,还应在 message-destination 元素中指定该物理目的地名称。(message-destination-ref 元素替换了在新的应用程序中过时的 resource-env-ref 元素。)在 Application Server 部署描述符的 message-destination 元素中,将物理目的地名称与目的地资源名称链接起来。