Sun Java System Message Queue 3.7 UR1 技术概述

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 实例发送消息。