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