活动PooledConnectionFactory池连接数与会话数

时间:2018-09-10 17:38:53

标签: java activemq

我正在研究在Tomcat应用程序中使用PooledConnectionFactory,在该应用程序中,我想在Tomcat POST处理程序中将消息放入队列中,以供单个远程使用者使用。 AMQ汇集了Connection和Session对象,我试图了解何时应该使用一个对象。

我正在考虑的方法是拥有一个Connection并设置MaximumActiveSessionPerConnection以匹配我的Tomcat线程,并且POST处理程序将借用并从该连接返回Sessions。这听起来合理吗,或者池化连接有好处吗?

如果重要的话,我不使用Spring或其他Web应用程序框架,仅使用Tomcat。我将邮件保留到AMQ的磁盘中。

1 个答案:

答案 0 :(得分:1)

这两种方法在功能上应该等效,并且一种方法与另一种方法在代码上的差异应该相对较小。

就性能而言,我认为这并不重要,因为您的瓶颈将在消费方而不是生产方,因为您只有一个消费者,并且可能同时存在多个生产者。

就个人而言,我宁愿让池完成所有工作,而只是在编写应用程序时就好像它在每次发送消息时都在创建连接和会话一样(这显然是没有池的巨大反模式)。