Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ActiveMQ生产者创建和非活动期间_Activemq_Producer Consumer - Fatal编程技术网

ActiveMQ生产者创建和非活动期间

ActiveMQ生产者创建和非活动期间,activemq,producer-consumer,Activemq,Producer Consumer,我有一个关于ActiveMQ和制作人的问题 我是否应该为每次发送的消息创建一个生产者?还是一直使用同一个?为每次发送创建制作人是否会对性能产生影响 在一段时间的不活动之后,连接也会断开,但我不知道这是否与此相关,有什么建议吗?是的,创建制作者会对性能产生一点影响,特别是当代理位于另一台机器上时(客户需要与代理对话以创建制作者) 在本答案的其余部分中,我假设您使用Java/JMS与AMQ对话 如果您有一个非常简单的程序,您当然可以“重用”您的生产者,创建一个“空”目的地,并在发送时设置目的地 您可

我有一个关于ActiveMQ和制作人的问题

我是否应该为每次发送的消息创建一个生产者?还是一直使用同一个?为每次发送创建制作人是否会对性能产生影响


在一段时间的不活动之后,连接也会断开,但我不知道这是否与此相关,有什么建议吗?

是的,创建制作者会对性能产生一点影响,特别是当代理位于另一台机器上时(客户需要与代理对话以创建制作者)

在本答案的其余部分中,我假设您使用Java/JMS与AMQ对话

如果您有一个非常简单的程序,您当然可以“重用”您的生产者,创建一个“空”目的地,并在发送时设置目的地

您可以做的是使用whichpool连接、会话和生产者。我认为包装器类将帮助您

实际上,您可以像这样使用PooledConnectionFactory(psuedocode):

这意味着您不必担心关闭/打开的会话、连接等。这就是Spring Framework中广泛使用的
JmsTemplate
的工作方式(当然,使用池/缓存资源时工作得更好)


另请查看页面,了解性能提示和技巧。

谢谢,这是有用的信息。
 cf = new PooledConnectionFactory(myOriginalConnectionFactory)
 sendMessage(cf)
 sendMessage(cf)
 sendMessage(cf)

 SendMessage(connectionFactory)
   conn = connectionFactory.CreateConnection
   sess = conn.CreateSession
   prod = sess.createProducer
   msg = sess.createMessage
   prod.send(msg)
   prod.close
   sess.close
   conn.close