JMS和ActiveMQ,如何在断开连接时接收通知?

JMS和ActiveMQ,如何在断开连接时接收通知?,jms,activemq,failover,Jms,Activemq,Failover,我正在使用JMS与ActiveMQ通信。我必须禁用ActiveMQ的故障切换,因为我需要自己处理它 因此,我没有使用:failover//tcp//localhost:61616,而是使用了:tcp//localhost:61616 如果我关闭ActiveMQ服务器并尝试发送消息,我将收到一个异常。 javax.jms.IllegalStateException:会话已关闭 但是,当与服务器的连接尽快断开时,如何通知我 原因是,我没有使用ActiveMQ的故障切换,因为在生产环境中,它应该是MQ

我正在使用JMS与ActiveMQ通信。我必须禁用ActiveMQ的故障切换,因为我需要自己处理它

因此,我没有使用:failover//tcp//localhost:61616,而是使用了:tcp//localhost:61616

如果我关闭ActiveMQ服务器并尝试发送消息,我将收到一个异常。 javax.jms.IllegalStateException:会话已关闭

但是,当与服务器的连接尽快断开时,如何通知我

原因是,我没有使用ActiveMQ的故障切换,因为在生产环境中,它应该是MQSeries

谢谢

我不确定,但可以帮你

这是一个使用它的示例

connection = new ActiveMQConnectionFactory(brokerUrl).createConnection();
ActiveMQConnection cc = (ActiveMQConnection)connection;
cc.addTransportListener(new YourTransportListener());  

希望这对您有所帮助。

谢谢您的回答。我不能用它,因为它不是普通的JMS。我发现我可以添加connection.setExceptionListener(newExceptionListener(){@Override public void onException(JMSException e){//TODO自动生成的方法stub System.out.println(e);}});用于JMS连接。当我的客户端尝试推送某些内容时,我会收到通知:javax.jms.jmsceception:java.io.EOFException,但我想我无法获得更有意义的内容。看起来,当我在ExceptionListener中收到异常时,我可以重新连接。我同意。谢谢你的帮助