我正在使用activeMQ tcp故障转移连接并创建使用者并订阅生产者生成的主题。 现在我该如何管理网络故障?如果代理和客户端之间的连接断开,我怎么知道何时再次建立连接? 另外,我如何知道生产者是否正常运行?如果生产者重新开始;我怎么知道它,以便我可以重新订阅这些主题?
答案 0 :(得分:3)
使用FailoverTransport您无需管理重新连接,除非您指定maxReconnectAttempts
,否则他将尝试重新连接 如果生产者重启,重新订阅主题?不需要,因为你的消费者是连接的,他不需要关心生产者
即使不需要,也可以通知FailoverTransport状态更改:
ActiveMQConnectionFactory cf = new ActiveMQConnectionFactory("failover:(tcp://host1:5670)");
cf.setTransportListener(new TransportListener() {
@Override
public void transportResumed() {
}
@Override
public void transportInterupted() {
}
@Override
public void onException(IOException error) {
}
@Override
public void onCommand(Object command) {
}
});