1 创建连接时,启动发送心跳线程。
目的是rabbitmq server能够通过该连接发送消息(心跳响应)给客户端
2 每个连接启动主线程,读取该连接上的数据帧包括心跳报、业务包等
如果读取消息异常,或者接受不到服务端返回的心跳消息,则该连接断开并且进行自动重连
3 恢复连接
创建新的连接(直到连接建立成功),启动获取消息主线程,循环读取数据
恢复channel
恢复exchanges
恢复queues
恢复bindings
恢复consumer
4 恢复机制
主线程循环读取connection上的数据,如果一定时间内读取不到数据或者连接异常,则自动断开连接,然后进行恢复