2017-09-15 1 views
1

Ich habe Schwierigkeiten bei der Suche nach einer Lösung, wo mein Listener-Code in activemq Nachrichten von mehreren Brokern hören sollte. Ein Beispiel: Wir haben 4 Broker (1, 2, 3, 4), die Nachrichten an Verbraucher liefern, die auf 4 Servern gehostet werden (A, B, C, D). Der ConsumerA sollte auf Antwortnachrichten von broker1,2,3 hören. & 4. Wenn es die Nachricht findet, sollte ConsumerA die Nachricht auswählen und verarbeiten. Falls consumerA aus irgendeinem Grund down ist, sollte consumerB allen 4 Brokern zuhören.Wie man mehrere Broker in activemq hört

Die Konfiguration des Failover-Transports in der unten beschriebenen Weise hilft mir nicht, das obige Design zu erreichen.

activemq.broker.url=failover:(tcp://localhost:61716,tcp://localhost:61717,tcp://localhost:61718,tcp://localhost:61719)?randomize=false,timeout=5000,maxReconnectAttempts=3 

oben Mit uri Konfiguration meiner Zuhörer Code hört nur auf Port broker 61716 und wenn die Nachricht an einem anderen Broker zur Verfügung sagt auf Port 61717 seine nicht in der Lage, es zu holen und zu verarbeiten. Jede Hilfe wird wirklich geschätzt.

P.S: Gibt es ein Beispiel für einen Verbraucher, der mehrere Makler gleichzeitig hört?

Antwort

0

Da ich keine Lösung von activemq für einen Verbraucher, der mehrere Makler hört, gefunden habe, haben wir eine Lösung zur Erstellung mehrerer Beans implementiert, die jeweils auf eine bestimmte Makler-URL verweisen. Auf diese Weise zeigen wir auf 4 URLs von demselben Server und von derselben Listener-Konfigurationsdatei.

Verwandte Themen