我正在使用servicemix和camel发布一些activemq主题:
from("vm:all").recipientList().simple(String.format("activemq:topic:%s.%s.%s.%s.%s.%s","${header.type}", ...
但每个主题都会创建一个新的生产者线程,任何想法如何控制它?
EDIT1:
实际上我意识到我创建的主题太多而你应该选择选择器:http://www.andrejkoelewijn.com/blog/2011/02/21/camel-activemq-topic-route-with-jms-selector/
感谢您的帮助!
答案 0 :(得分:1)
典型的情况是Camel正在使用JMSTemplate向ActiveMQ发送消息。这意味着它会创建一个新的producer each time。实际上,它为每条消息创建一个新的连接,会话和生产者。除了表现方面,这通常没有问题。
这通常由org.apache.activemq.pool.PooledConnectionFactory处理,它为您缓存连接,会话和生产者。但是,根据您的配置,它最初可能会创建“某些”生产者,但它们将被重用。
检查activemq-broker.xml中的连接工厂设置,并确保获取PooledConnectionFactory。