ActiveMQ-如何处理生产者已关闭

ActiveMQ-如何处理生产者已关闭,activemq,producer,Activemq,Producer,以下代码创建使用者并注册到队列: PooledConnectionFactory factory = new PooledConnectionFactory(BROKER_URL); Connection connection = factory.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination destQueue = new A

以下代码创建使用者并注册到队列:

PooledConnectionFactory factory = new PooledConnectionFactory(BROKER_URL);
Connection connection = factory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destQueue = new ActiveMQQueue(queue);
Producer producer = session.createProducer(destQueue);
问题是我们偶尔会遇到“生产者关闭”异常:

javax.jms.IllegalStateException: The producer is closed
        at org.apache.activemq.ActiveMQMessageProducer.checkClosed(ActiveMQMessageProducer.java:196)
        at org.apache.activemq.ActiveMQMessageProducer.getDestination(ActiveMQMessageProducer.java:153)
        at org.apache.activemq.jms.pool.PooledProducer.<init>(PooledProducer.java:43)
        at org.apache.activemq.jms.pool.PooledSession.createProducer(PooledSession.java:361)
javax.jms.IllegalStateException:生产者已关闭
位于org.apache.activemq.ActiveMQMessageProducer.checkClosed(ActiveMQMessageProducer.java:196)
位于org.apache.activemq.ActiveMQMessageProducer.getDestination(ActiveMQMessageProducer.java:153)
位于org.apache.activemq.jms.pool.PooledProducer.(PooledProducer.java:43)
位于org.apache.activemq.jms.pool.PooledSession.createProducer(PooledSession.java:361)

重新启动应用程序将重新建立连接,并正确地释放消息。是否有方法检查生产者是否已关闭并刷新连接?

能否共享详细信息活动mq代理和客户端库版本能否共享详细信息活动mq代理和客户端库版本