1

Ich werde BTW mit Payara werden ....JMS dauerhaft Teilnehmer in einem Cluster mit mehreren Instanzen

Angenommen, ich habe:

  1. A JMS Topic

  2. Ein MDB konfiguriert als dauerhaft Thema Teilnehmer

  3. Mehrere Instanzen der MDB sind über den Cluster und verteilt Sie verwenden alle denselben Client-ID-Wert, um das dauerhafte Abonnement zu machen.

In diesem Szenario ist, und angesichts der Möglichkeit, die Client-ID-Werte und dauerhaft Abonnements arbeiten, ist es richtig zu sagen, dass nur 1 der MDB-Instanzen über den Cluster bei der Verbindung und die andere gelingen werden Scheitern?

Danke!

Angenommen, Sie haben eine MDB für einen Cluster bereitgestellt, sodass mehrere MDB-Instanzen im Cluster versuchen, zu überwachen.

Antwort

0

Ab der JMS 2.0-API [1] können Sie dasselbe dauerhafte Abonnement für Knoten in einem Anwendungscluster freigeben.

Anwendungen werden nun mehrere Verbraucher zu schaffen auf dem gleichen dauerhaft oder nicht dauerhaft Thema Abonnement erlaubt:

Die folgende Änderung Skalierbarkeit unterstützen wurde gemacht. In früheren Versionen von JMS war nur ein einziger Verbraucher erlaubt.

Sie können den JMS 2.0+ API verwenden, um einen gemeinsamen dauerhaften Verbraucher mit dem JMSContext.createSharedDurableConsumer() Methoden [2]

[1] https://java.net/projects/jms-spec/pages/JMS20FinalRelease#What_s_new_in_JMS_2.0 zu schaffen? (? Das ist ein Teil des Link - go figure)

[2] https://docs.oracle.com/javaee/7/api/javax/jms/JMSContext.html#createSharedDurableConsumer-javax.jms.Topic-java.lang.String-

+0

Ich versuche eigentlich nur, um sicherzustellen, 1 die Meldung –

+0

In Ihrem Szenario behandelt, scheint es, dass Sie Ihr Thema wollen handeln als eine Warteschlange. Die Semantik für Themen ist so, dass alle konfigurierten Clients Nachrichten abonnieren und empfangen können. In einer Warteschlange wird jedoch nur ein Verbraucher. https://docs.oracle.com/cd/E24902_01/doc.91/e24429/appx_topic_or_queue.htm#EOITW196 Gibt es eine Möglichkeit, eine Warteschlange anstelle eines JMS-Themas einzurichten? –

+0

Eine Warteschlange würde nicht funktionieren. Ich brauche mehrere Clients (A, B, C), um die gleiche Nachricht verwenden zu können, aber wenn mehrere Instanzen eines Clients (A1, A2, .., N) vorhanden sind, sollten die Nachrichten nur von einer der Instanzen konsumiert werden . Warteschlangen Ich glaube nicht, dass ich dorthin kommen würde. –