1. 描述
方法 setServerURIs的描述
1.client配置多个mqtt server地址,是HA高可用配置,client连接任意一个,成功即可;(还有一种方式,mqtt server集群,前置添加LVS负载均衡后,client可以只对应一个vip即可)
2.Hunt List没太看明白 TODO
2. 代码
MqttAsyncClient.java connect方法;
调用createNetworkmodules(serverURI, options),传入的是单个server地址;
注意:这里的ConnectActionListener,后面失败回调中有用;
createNetworkModules方法中,如果options中有多个server地址,则覆盖传入的单个server地址;(NetworkModule只是封装,没有实际去连接mqtt server)
ConnectionActionListener.java connect方法
场景一:如果comms.connect 连接报异常,即在当前执行线程中报异常,则尝试下一个server去连接;
场景二:在调用线程中调用正常;线程池,在独立的线程中connect server过程中,报错;
ConnectionActionListener.onFailure 的另外一路调用;
在ClientComms.ConnectBG run的最后