2017-11-16 4 views
0

Ich versuche, einen HA-amqp-Client einzurichten. Derzeit gibt es 3 Amqps-Broker. Derzeit ist meine Client-Konfiguration ist wie folgt:Verbinden mit mehreren AMQP-Brokern

<property name="remoteURI" value="amqps://node1:9551?jms.username=XXXXXXXX&amp;jms.password=XXXXXXXXX&amp;transport.trustStoreLocation=etc/keystore.jks" /> 

Jetzt, da ich 2 weiteren AMQP-Broker zu haben, im sie versuchen, zu verbinden. Erstens ist es möglich? Ich kann nach documentation, für Python versuchen so etwas wie:

connection = qpid.messaging.Connection.establish("node1", reconnect=True, reconnect_urls=["node1", "node2", "node3"]) 

Aber für JMS verwandte Verbindung, heißt es:

connectionfactory.qpidConnectionfactory = amqp://guest:[email protected]/test?brokerlist='tcp://localhost:5672'&failover='failover_exchange' 

Aber ich sehe nicht, einen Hinweis, wie man andere Makler verbinden.

Eine Idee, wie dies von der Client-Seite erreicht werden kann?

+0

Es ist nicht ganz klar, auf welche AMQP JMS-Clients Sie sich hier beziehen, daher ist eine Antwort schwierig. Auch Ihre Frage ist verwirrend, da unklar ist, ob Sie eine Failover- oder eine Fanout-Verbindung wünschen. –

+0

Also verwende ich Servicemix, um Nachrichten zwischen Warteschlangen zu routen. In meiner SMX-Konfiguration verbinde ich mich direkt mit einem der 3 Broker, indem ich amqps benutze, aber ich möchte die Verbindung zu allen 3 herstellen, wenn einer von ihnen fehlschlägt. Und ja, ich möchte Failover konfigurieren. –

+0

Welche noch fehlt Klärung, welche AMQP JMS Client Sie verwenden –

Antwort

0

Meine Annahme ist, dass Sie den QpidJMS AMQP v1.0-basierten Client aus dem Apache Qpid-Projekt verwenden, da Sie keine anderen Informationen gegeben haben, um eine bessere Schätzung zu machen. Die Art und Weise, dass Client-Failover-Konfiguration umgehen würde, ist auf der Verbindung URI, so etwas wie:

failover://(amqp://host1:5672,amqp://host2:5672)?jms.username.... 

Sie können natürlich diese Dinge herausfinden, aus den documentation lesen.

+0

Danke @Tim. Ja, Sie haben Recht Ich benutze Qpid JMS AMSQPS client. Ich werde diese Lösung ausprobieren. –

Verwandte Themen