简介: 本文将介绍了 WebSphere Application Server 中的 WebSphere MQ 消息传递提供者激活规范,以及这些规范用于连接 WebSphere MQ 队列管理器和监控消息目标的机制,随后展示了应用程序服务器如何向消息驱动 bean 传递适当的消息以供处理。
本文面向两类读者:
需要调优系统的 WebSphere Application Server 管理员和开发人员;
想了解应用程序服务器和 WebSphere MQ 之间的交互方式的 WebSphere MQ 管理员。
简介
IBM® WebSphere® Application Server V7 和 V8 提供基于 Java Message Service (JMS) 规范的异步消息传递。使用 WebSphere MQ 消息传递提供者,您可以编写一个消息驱动 bean,对 WebSphere MQ 目标(消息队列或主题)进行监听。当消息到达目标时,将会调用消息驱动 bean 中的 onMessage() 方法来处理消息。
在 WebSphere Application Server V7 和 V8 中,WebSphere MQ 消息传递提供者支持使用激活规范来监控 WebSphere MQ 队列管理器托管的目标。本文展示激活规范如何连接到分布式平台上的 WebSphere MQ,并描述监控查找消息的目标所使用的机制,以及如何在检测到适当的消息后调用消息驱动 bean。本文假定读者具有 JMS 和 WebSphere MQ 基本知识。
激活规范
简单说来,J2C 激活规范是一些受管理的对象,它们包含关于如何连接到 JMS 提供者的信息,以及 JMS 提供者上的受消息监控的目标的详细信息。当部署一个包含消息驱动 bean 的应用程序时,需要指定消息驱动 bean 要使用的激活规范。激活规范启动后,会连接到 JMS 提供者,打开 JMS 目标,然后监控它以查找消息。
图 1 和图 2 显示了使用 WebSphere Application Server Integrated Solutions Console 中的激活规范面板定义的样例 WebSphere MQ 激活规范。这个激活规范启动后,会创建一个 BINDINGS 模式连接,连接到名为 pault 的本地 WebSphere MQ 队列管理器,打开目标 jms/TestQueue,然后开始监控这个目标以查找消息。
图 1.
图 2. 指定激活规范将监控的 JMS 目标
可以将激活规范配置为使用消息选择器,这样就可以只将符合选择标准的消息传递到消息驱动 bean。在图 2 中,没有指定消息选择器,因此所有到达目标的消息都会由这个激活规范处理。
激活规范找到一条适合的消息后,会在应用程序服务器中计划一个工作来处理消息。每条消息都需要一个 JMS 服务器会话才能运行,可以同时处理多条消息。
每个激活规范都有一个关联服务器会话池,会话池的大小控制一个激活规范可以同时处理的消息数量。服务器会话池的默认大小是 10,这表示一个激活规范最多可以同时处理 10 条消息。要更改服务器会话池大小,修改激活规范高级属性
Maximum server sessions,如图 3 所示:
图 3. 指定可以同时处理的消息数量