Sun Java System Message Queue 3.7 UR1 技术概述

第 5 章 Message Queue 和 J2EE

Java 2 Platform, Enterprise Edition( J2EE 平台)是用于托管多层和瘦客户端企业应用程序的标准服务器平台的规范。J2EE 平台的其中一个要求是分布式组件能够通过可靠的异步消息传送进行交互。这种交互是通过使用 JMS 提供者实现的。事实上,Message Queue 是 J2EE 平台的参考 JMS 实现。

本章探讨有关在 J2EE 平台环境中实现 JMS 支持的其他信息,其中包括下列主题:

有关将 Message Queue 用作符合 J2EE 的应用服务器的 JMS 提供者的其他信息,请参见《Sun Java System Message Queue 3.7 UR1 管理指南》中的第 17  章 “JMS 资源适配器属性参考”

JMS/J2EE 编程:消息驱动 Bean

除了在第 2 章,客户端编程模型介绍的通用 JMS 客户端编程模型外,还有专用于 J2EE 平台应用程序上下文中的 JMS 客户端。这种专用的客户端称为消息驱动 Bean,它是 Enterprise JavaBeans (EJB) 2.0(和更高版本)规范 (http://java.sun.com/products/ejb/docs.html) 中描述的 EJB 系列组件之一。

消息驱动 Bean 提供异步消息传送;而其他 EJB 组件(会话 Bean 和实体 Bean)只能通过标准的 EJB 接口同步调用。但是,企业应用程序通常需要异步消息传送,以便服务器端组件能够在不占用服务器资源的情况下相互通信。服务器端组件必须响应应用程序事件的任何应用程序需要这样一种 EJB 组件:不需要紧密耦合到消息生成方即可接收和使用消息。在企业应用程序中,这种能力还必须在负载增加时扩展。

消息驱动 Bean (Message-driven Bean, MDB) 是由专用的 EJB 容器(为所支持的组件提供分布式服务)支持的 EJB 组件。

图 5–1 与 MDB 进行消息传送

该图显示 JMS 消息生成方向 J2EE 环境中的使用方 MDB 实例发送消息。

J2EE 应用服务器支持

在 J2EE 体系结构中,EJB 容器由 J2EE 应用服务器托管。应用服务器提供各种容器所需的资源:事务管理器、持久性管理器、命名服务以及(消息传送和 MDB 所需的)JMS 提供者。

在 Sun Java System Application Server 中,JMS 消息传送资源由 Sun Java System Message Queue 提供:

对于该应用服务器的后续发行版本,将利用标准资源适配器部署和配置方法将 Message Queue 插入到应用服务器中。

有关 J2EE 体系结构的信息,请参见位于 http://java.sun.com/j2ee/download.html#platformspec 的 J2EE 平台规范。

JMS 资源适配器

资源适配器是一种在符合 J2EE 1.4 规范的应用服务器中插入附加功能的标准方法。J2EE 连接器体系结构 (J2EE Connector Architecture, J2EECA) 1.5 规范定义的标准允许应用服务器以标准方式与外部系统进行交互。外部系统可以包括企业信息系统 (Enterprise Information System, EIS) 和消息传送系统,例如 JMS 提供者。Message Queue 包括 JMS 资源适配器,该适配器允许应用服务器将 Message Queue 用作 JMS 提供者。

将 JMS 资源适配器插入应用服务器后,在应用服务器中部署和运行的 J2EE 组件即可交换 JMS 消息。这些组件所需的 JMS 连接工厂和目的地受管理对象可以使用 J2EE 应用服务器管理工具来创建和配置。

但是 J2EECA 规范中不包括其他管理操作(如管理代理和物理目的地),只能通过特定于提供者的工具来执行这些操作。

Message Queue 资源适配器集成在 Sun J2EE 1.4 应用服务器中。但它尚未经过其他任何 J2EE 1.4 应用服务器的验证。

Message Queue 资源适配器是单个文件 (imqjmsra.rar),它所在的目录因操作系统而异(请参见《Sun Java System Message Queue 3.7 UR1 管理指南》中的第 17  章 “JMS 资源适配器属性参考”)。imqjmsra.rar 文件包含资源适配器部署描述符 (ra.xml) 以及应用服务器使用适配器所需的 JAR 文件。

您可按照应用服务器附带的资源适配器部署和配置说明,在任何符合 J2EE 1.4 的应用服务器上使用 Message Queue 资源适配器。随着商业 J2EE 1.4 应用服务器的推出以及 Message Queue 资源适配器通过了这些应用服务器的验证,Message Queue 文档将提供相关部署和配置过程的特定信息。