1

JMS を使用して ActiveMQ と通信しています。自分で処理する必要があるため、ActiveMQ のフェイルオーバーを無効にする必要がありました。

したがって、使用する代わりに: failover//tcp//localhost:61616 を使用しました: tcp//localhost:61616.

ActiveMQ サーバーを閉じてメッセージを送信しようとすると、例外が発生します。javax.jms.IllegalStateException: セッションが閉じられています

しかし、サーバーとの接続がすぐに失われたときに通知を受け取るにはどうすればよいですか?

その理由は、ActiveMQ のフェイルオーバーを使用していないのは、本番環境では MQSeries でなければならないからです。

ありがとう

4

1 に答える 1

2

よくわかりませんが、TransportListenerがお手伝いします。

これがそれを使用するサンプルです、

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

これがお役に立てば幸いです。

于 2011-07-05T12:58:29.053 に答える