確かに、単純に次のように:
ActiveMQSslConnectionFactory connectionFactory = new ActiveMQSslConnectionFactory("failover:(ssl://192.168.1.112:61617,ssl://192.168.1.112:61619)?randomize=false&maxReconnectAttempts=Value")
すべてのフェイルオーバートランスポートオプションを使用すると、後でURLを変更したい場合は、connectionFactory.setBrokerURL("newURL")
を呼び出すことができ、URLに
http://activemq.apache.org/failover-transport-reference.html
を設定することができ、その後、作成された新しい接続はすべて、URLの新しいパラメータで設定されます。
ConnectionFactoryの作成後に変更する場合は、urlパラメータに基づいて新しいConnectionごとにFailoverTransportの新しいインスタンスが作成され、各ConnectionがそのFailoverTransportのインスタンスを保持することに注意してください。彼の状態あなたはこのようにそれにアクセスすることができます。
((FailoverTransport) ((TransportFilter) ((TransportFilter) ((ActiveMQConnection) connection).getTransport()).getNext()).getNext())
.setMaxReconnectAttempts(10);
以上読み:なぜ、これらすべてのキャストを理解すること
org.apache.activemq.transport.TransportFilter responseCorrelator = (TransportFilter) ((ActiveMQConnection) connection).getTransport();
TransportFilter mutexTransport = (TransportFilter) responseCorrelator.getNext();
FailoverTransport failoverTransport = (FailoverTransport) mutexTransport.getNext();
failoverTransport.setMaxReconnectAttempts(10);
、あなたがこのメソッドのソースコードを見てみることができます。
org.apache.activemq.transport.failover.FailoverTransportFactory.doConnect(URI)
ここにhttps://github.com/apache/activemq/blob/master/activemq-client/src/main/java/org/apache/activemq/transport/failover/FailoverTransportFactory.java