2013-01-08 190 views
2

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

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

谢谢。

回答

3

答案是,这取决于。如果你只在你的应用中使用一个连接并在应用的整个生命周期内保持打开状态,那么你并没有通过连接池获得太多的收益,但是PooledConnectionFactory也可以集合会话和生产者,所以你仍然可以通过不会获得一些创建和销毁会话和制作人,但如果你不创建和销毁这些资源,那么你也不需要合并他们。

汇集连接的东西将创建一个连接,并保持它打开一段时间,然后空出它(可配置),所以如果你的应用程序倾向于创建一个连接,使用它一点,关闭它只创建另一个不久之后,游泳池可能是一个不错的选择。

最后,你需要检查你的应用程序,看看你如何使用JMS资源。另外,看看它是否让你获得任何表现的最好方法是试用它并测量结果,而不是使用它。