ActiveMQ -处理连接、会话、生产者和消费者选项的故障转移



我通过在代理URL

中使用以下模式来使用故障转移传输特性
failover:(tcp://host:port)

初始化代码如下:

factory = new PooledConnectionFactory(BROKER_URL);
connection = factory.createConnection();
connection.start(); 

put消息代码大致如下:

session = connection.createSession( false, Session.AUTO_ACKNOWLEDGE );
Destination destQueue = new ActiveMQQueue(queue);
MessageProducer producer = session.createProducer(destQueue);
TextMessage msg = session.createTextMessage(message);
producer.send(msg);

发生故障转移时-

[org.apache.activemq.transport.failover.FailoverTransport] Transport (broker) failed, reason:  , attempting to automatically reconnect: java.net.SocketException: recv failed: Connection aborted by peer
and got reconnected after
[org.apache.activemq.transport.failover.FailoverTransport] Failed to connect to [broker] after: 10 attempt(s) continuing to retry.
08:55:29,596 INFO  [org.apache.activemq.transport.failover.FailoverTransport] Successfully reconnected to broker

我必须重新启动连接吗?或者更具体地说,我是否必须对连接对象做任何事情才能在故障转移后产生/消费消息?

谢谢

故障转移传输的全部意义在于为您处理重新连接。您所展示的日志表明了一个成功的重新连接周期,其中传输继续尝试连接到代理,并最终连接成功。

最新更新