我对 JMS 连接池和 JMS 会话池感到困惑。
我有一个 Java 应用程序,它有大约 20 个线程处理从供应商产品接收到的消息。在推送到 JMS 主题(所有 20 个线程的主题相同)之前,每个线程都会对消息进行一些处理。
我想确保没有线程在等待免费的 JMS 连接,因为性能至关重要。但是,当我查看 JMS 连接工厂时,我看不到任何为我的 JMS 连接配置池大小的方法。
现在我真的很困惑。是我应该汇集的 JMS 会话吗?
对此非常感谢的任何帮助
谢谢乔
我对 JMS 连接池和 JMS 会话池感到困惑。
我有一个 Java 应用程序,它有大约 20 个线程处理从供应商产品接收到的消息。在推送到 JMS 主题(所有 20 个线程的主题相同)之前,每个线程都会对消息进行一些处理。
我想确保没有线程在等待免费的 JMS 连接,因为性能至关重要。但是,当我查看 JMS 连接工厂时,我看不到任何为我的 JMS 连接配置池大小的方法。
现在我真的很困惑。是我应该汇集的 JMS 会话吗?
对此非常感谢的任何帮助
谢谢乔
从J2EE 6 api javax.jms.Connection
通常表示客户端和服务提供商软件之间的开放 TCP/IP 套接字。
和
Session 对象是用于产生和使用消息的单线程上下文。
会话(或会话池)发生在连接的上下文中。
您可能希望根据在您所涉及的特定技术堆栈、框架和应用程序的上下文中从头开始创建这些资源的成本来确定是池化会话、连接还是两者都不池化。
我的资源:
我知道 PooledConnectionFactory 类中的一种方法,您可以使用该方法设置最大连接数。方法是 setMaxConnections。然而,这是您问题的部分答案。