Java Eclipse paho连接到分布式代理

Java Eclipse paho连接到分布式代理,java,paho,activemq-artemis,Java,Paho,Activemq Artemis,我使用ApacheArtemis作为我的mqtt代理。我有一个以主从方式配置的Artemis集群。当主服务器出现故障时,备份服务器接管,客户端必须连接到从属服务器。主设备和从设备具有不同的IP 在EclipsePAHO中创建MqttClient对象时,是否有指定多个连接url(主连接和从连接地址)的选项 差不多 MqttClient cl = new MqttClient("LIST OF IPs", "Publisher", new MemoryPersistence()); 而不仅

我使用ApacheArtemis作为我的mqtt代理。我有一个以主从方式配置的Artemis集群。当主服务器出现故障时,备份服务器接管,客户端必须连接到从属服务器。主设备和从设备具有不同的IP

在EclipsePAHO中创建MqttClient对象时,是否有指定多个连接url(主连接和从连接地址)的选项

差不多

MqttClient cl = new MqttClient("LIST OF IPs", "Publisher", new    
MemoryPersistence());
而不仅仅是

MqttClient cl = new MqttClient("tcp://localhost:1883", "Publisher", new 
MemoryPersistence());
这样,当与第一个地址的连接失败时,将尝试与下一个地址的连接


有人能在这方面指导一下吗?非常感谢。

只要试着连接到主机,用适当的错误处理围绕呼叫。若超时或连接错误,只需在处理程序中使用代码来调用从属。如果也没有反应,就退出,假设链条断了


此外,集群可以使用不同的配置来只公开单个IP,这更有意义。因此,在集群中的不同机器上,有一个别名队列向外,但是是逻辑队列。如果您希望向外部分发连接到集群的可能性,这将有助于您以后的工作

许多语言的客户端库都有此选项。可在此处查看该列表:

对于标记为“高可用性”的客户机,支持使用“MqttConnectOptions”指定的URL列表

例如:

        String[] URIs = {"address1","address2"};
        MqttConnectOptions mqttConnectOptions = new MqttConnectOptions();
        mqttConnectOptions.setServerURIs(URIs);

需要提供以下格式的地址“tcp://x.x.x.x"