寻求ActiveMQ耐用主题连接设计意见

时间:2011-12-29 15:46:48

标签: java activemq

我有一个使用ActiveMQ的非常简单的应用程序。它解决的用例将涉及发送小的原子主题消息。

我在此功能上的第一次传递构建了与代理的一个连接,并根据需要重新使用它。但是,在阅读一些文档时,似乎挂在连接上以便重用可能会占用JVM中的资源。

所以我的困境是,我是否需要为每条消息建立和拆除连接所产生的开销,或者我是否需要承担大部分闲置资源的费用。

我知道没有一个确定的答案,真正的答案是“它取决于”,但真的很喜欢别人的见解和意见。

1 个答案:

答案 0 :(得分:2)

我相信你应该知道两个提到的标准。解决方案是使用连接池。在这种情况下,您共享连接,并且大多数时间不创建新连接,并且池通常仅限于特定数量的连接(这是我将如何实现它的假设) - 所以它不会不占用JVM中的所有资源。

查看PooledConnectionFactory相关部分。

决定保持连接或重新创建它们完全取决于您的使用场景。如果您打算定期发送消息 - 共享连接是正确的事情 - 因为连接和会话(我建议在高流量时尽可能共享会话)创建是非常昂贵的操作。但是,如果你的消息不经常发送(每小时几次?:)) - 那么不要保持空闲连接的存在是有意义的。