2013-01-10 18 views
0

我需要关闭activemq连接我正在使用activemq PooledConnectionFactory创建连接。我正在创建线程,每个线程都有自己的连接,会话和生产者。 我有两个查询: 1.我是否需要关闭连接,会话,生产者我自己的代码或pooledConnectionFactory会做它,一旦生产者的消息发送成功。 2.为每个线程创建连接(最终针对每条消息)将成为性能瓶颈。是否有可能只有一个连接与许多会议(或应该有一对一的会话和连接之间的映射,我想我在activemq网站上的某处读到这个)如果我使用pooledconnectionfactory

任何帮助,将不胜感激。

回答

1

您需要像使用其他JMS连接,会话和生产者一样使用代码。当你的线程完成时没有什么魔法可以检测到,你需要关闭它才能返回到池中。您只能使用一个连接并从中获取多个会话,但您需要关闭它们以便它们返回池以便按需分发给其他人。

+0

但当我关闭会话和连接时,它抱怨(在运行时)该连接已关闭。我的发送消息的代码是在run方法中,由多个线程(每个处理一个消息)访问。我相信每个线程都有自己的连接和会话实例,那么运行此代码的另一个线程为什么会抱怨关闭连接,如果我在代码结束时关闭连接。 – Manglesh

相关问题