2017-05-30 4 views
0

Ich bin neu in ActiveMQ und versuchen, alles zu finden, die explizit beschreibt, wie JMSMessageID mit dauerhaften Abonnenten und Selektoren verhält, aber ich habe Mühe, viel zu finden.ActiveMQ Durable Subscriber mit JmsMessageId

Als Beispiel: JMSType = 'Auto' UND Farbe = 'Blau' UND Gewicht> 2500 als Selektor. Jeder Abonnent erhält nur Nachrichten von dem Thema, in dem die Kriterien übereinstimmen. Wenn jeder diese Nachrichten empfängt, ist die JSMMessageID für jeden Teilnehmer eindeutig oder für das gesamte Thema einzigartig, bevor sie durch den Selektor für den Teilnehmer gefiltert wurde.

Wenn nicht gibt es eine Möglichkeit, die JSMessageID für jeden Abonnenten eindeutig zu sein, so dass es als eine Form der Sequenznummer mit benutzerdefinierten MessageID Layout verwendet werden kann: 1, 2, 3 ... ad infinitum.

Antwort

0

Die Nachrichten-ID wird vom Hersteller zum Zeitpunkt des Sendens festgelegt. Der Broker übergibt eine Kopie der Nachricht an jedes Topic-Abonnement (dauerhaft oder nicht) mit der Nachrichten-ID, mit der es gesendet wurde. Sie können die ID, mit der der Broker diesen Wert verwendet, nicht ändern, um die Nachricht zu verfolgen, und sicherstellen, dass sie beibehalten wird, bis jede Subskription, an die sie gesendet oder für die sie gespeichert wurde, diese bestätigt hat.

+0

Vielen Dank für die Rückmeldung an mich - so gibt es keine Möglichkeit für die Broker, eine Sequenz Anzahl von Arten für jeden dauerhaften Abonnenten der Nachrichten, die sie erhalten, zu setzen? –