我正在使用 JMS 与 ActiveMQ 对话。我必须禁用 ActiveMQ 的故障转移,因为我需要自己处理它。
所以我没有使用
failover//tcp//localhost:61616
,而是使用了tcp//localhost:61616
。
如果我关闭 ActiveMQ 服务器并尝试发送消息,我将收到异常。
javax.jms.IllegalStateException: The Session is closed
但是当与服务器的连接丢失时如何尽快通知我?
我没有使用 ActiveMQ 的故障转移的原因是因为在生产中我将使用 MQSeries。因此,我需要一种纯 JMS 的方法,而不是特定于任何特定实现的方法。
我不确定,但TransportListener可以帮助你。
这是使用它的示例,
connection = new ActiveMQConnectionFactory(brokerUrl).createConnection();
ActiveMQConnection cc = (ActiveMQConnection)connection;
cc.addTransportListener(new YourTransportListener());
希望这可以帮助你。