我正在使用EJB 3.0 MDB从MQ队列异步读取消息。此MDB打包为jar并作为依赖项导入Web项目。
此应用程序部署在Websphere 8.x上,整个配置(包括激活规范)与此帖中显示的类似:How to configure Java Message Driven Beans and Websphere Activation specification without hardcoded JNDI Names?
我的问题是,如何配置线程池,即要处理消息的线程数?
我找到了一些关于它的IBM文章,但所有这些文章都是关于弃用的ListenerPorts,而不是激活规范。
答案 0 :(得分:2)
要配置两种基本设置来控制可以同时处理的消息数。
首先,最大服务器会话数定义了每个激活规范可以处理的并发消息数。
其次,激活规范服务器会话在WMQJCAResourceAdapter线程池的线程上运行,因此该线程池的最大大小非常重要。
因此,一个好的起点是配置WMQJCAResourceAdapter线程池,使其等于服务器可见的所有WMQ Activation规范中最大服务器会话数的总和。
E.g。如果您在服务器中有三个WMQ激活规范 最大服务器会话数设置为25,您应该将WMQJCAResourceAdapter线程池最大大小设置为75.
这一切都与this article中的屏幕截图一起解释。