activemq连接池

activemq连接池,activemq,Activemq,我正在使用ActiveMQConnectionFactory创建连接。我只创建了一个连接。我有许多线程在这个单一连接下运行,创建会话和生产者(每个线程都有自己的会话和生产者) 我的问题是:如果我只使用一个连接,那么我应该使用连接池(PooledConnectionFactory)还是应该坚持使用ActiveMQConnectionFactory。 请任何人也解释一下这两者之间的区别(可能是基本的,因为我还在activemq中学习) 谢谢 答案是,视情况而定。如果你在应用程序中只使用一个连接,并在

我正在使用ActiveMQConnectionFactory创建连接。我只创建了一个连接。我有许多线程在这个单一连接下运行,创建会话和生产者(每个线程都有自己的会话和生产者)

我的问题是:如果我只使用一个连接,那么我应该使用连接池(PooledConnectionFactory)还是应该坚持使用ActiveMQConnectionFactory。 请任何人也解释一下这两者之间的区别(可能是基本的,因为我还在activemq中学习)


谢谢

答案是,视情况而定。如果你在应用程序中只使用一个连接,并在应用程序的生命周期内保持它的打开状态,那么通过共享连接,你不会获得多少收益,但是PooledConnectionFactory也会对会话和生产者进行池化,因此您仍然可以通过不创建和销毁会话和生产者来获得一些收益,但是如果您不创建和销毁这些资源,那么您也不需要对它们进行池化

池连接工具将创建一个连接,并在空闲前保持打开一段时间(可配置),因此,如果您的应用程序倾向于创建连接,请使用它一段时间,然后关闭它,仅在短时间后创建另一个连接,那么池是一个不错的选择

最后,您需要检查您的应用程序并了解如何使用JMS资源。另外,看看它是否能为您带来任何性能的最好方法是尝试一下,并与不使用它相比衡量结果