Rabbitmq-Java-Client重连和consumer恢复机制

1 创建连接时,启动发送心跳线程。

   目的是rabbitmq server能够通过该连接发送消息(心跳响应)给客户端

2 每个连接启动主线程,读取该连接上的数据帧包括心跳报、业务包等

   如果读取消息异常,或者接受不到服务端返回的心跳消息,则该连接断开并且进行自动重连

3  恢复连接

    创建新的连接(直到连接建立成功),启动获取消息主线程,循环读取数据

    恢复channel

    恢复exchanges

    恢复queues 

    恢复bindings

    恢复consumer

4 恢复机制

   主线程循环读取connection上的数据,如果一定时间内读取不到数据或者连接异常,则自动断开连接,然后进行恢复


你可能感兴趣的:(Rabbitmq-Java-Client重连和consumer恢复机制)