消息驱动的 Bean - 侦听器端口组件
针对侦听器端口部署的消息驱动的 Bean 的 WebSphere® Application Server 支持基于 JMS 消息侦听器和消息侦听器服务,且是在 JMS 提供程序中的应用程序服务器设施 (ASF) 支持的基础上建立的。
注: 从 WebSphere Application Server V7 开始,已固定侦听器端口。有关更多信息,请参阅有关稳定功能的文章。有关可帮助将配置信息从侦听器端口迁移到激活规范以与 IBM MQ 消息传递提供程序配合使用的设施的信息,请参阅相关任务。
下图显示了 WebSphere Application Server 中消息驱动的 Bean 支持的主要组件,图后面的内容对这些组件进行了描述:
图 1. 消息驱动的 Bean 的主要组件

消息侦听器服务是 JMS 提供程序的 JMS 功能的扩展,该服务提供侦听器管理器,此管理器控制和监控一个或多个 JMS 侦听器。每个侦听器监控 JMS 队列目标(对于点到点消息传递)或 JMS 主题目标(对于发布/预订消息传递)。
将连接工厂用于为特定的 JMS 队列或主题目标创建与 JMS 提供程序的连接。每个连接工厂都包括创建到 JMS 目标的连接需要的配置参数。
每个侦听器端口定义连接工厂、目标和部署的消息驱动的 Bean 之间的关联。 侦听器端口用于简化这些资源间关联的管理。
部署消息驱动的 Bean 时,可以将 bean 与侦听器端口相关联。当消息到达目标时,侦听器将消息传递到消息驱动的 Bean 的新实例,用于处理。
当应用程序服务器启动时,它将根据配置数据来初始化消息侦听器服务。消息侦听器服务创建供侦听器使用的动态会话线程池,创建并启动侦听器,并在服务器终止期间控制消息侦听器服务资源的清除工作。每个侦听器为所要监视的 JMS 目标完成几个监视步骤,这些步骤包括:
- 创建 JMS 服务器会话池,并为入局消息分配 JMS 服务器会话和会话线程。
- 与 JMS ASF 进行交互,以便创建 JMS 连接使用者以侦听入局消息。
- 根据指定,启动事务并请求在 EJB 方法完成时将其落实或回滚。
- 通过调用所指定企业 Bean 的 onMessage() 方法,处理入局消息。