JMS连接池或会话池

use*_*620 9 java connection session connection-pooling jms

我对JMS连接池和JMS会话池之间感到困惑.

我有一个Java应用程序,它有大约20个线程处理从供应商产品接收的消息.在推送到JMS主题(所有20个线程的相同主题)之前,每个线程都会对消息进行一些处理.

我想确保没有线程等待免费的JMS连接,因为性能至关重要.但是,当我查看JMS连接工厂时,我看不到为JMS连接配置池大小的任何方法.

现在我真的很困惑.是我应该汇集的JMS会议吗?

任何帮助都非常感谢

谢谢乔

eeb*_*sen 6

来自J2EE 6 api的javax.jms.Connection

通常表示客户端和服务提供者软件之间的开放TCP/IP套接字.

Session对象是用于生成和使用消息的单线程上下文.

会话(或会话池)发生在连接的上下文中.

您可能希望根据在特定技术堆栈,框架和应用程序的上下文中从头开始创建这些资源的成本来确定是否池化Sessions,Connections或两者.

我的资源:


Man*_*esh 1

我知道 PooledConnectionFactory 类中的一种方法,您可以使用它来设置最大连接数。方法是setMaxConnections。但这是您问题的部分答案。