Erzwinge die Reihenfolge der Nachrichten mit HornetQ

8

Ich habe einen jms-Server mit HornetQ als JMS-Provider (Queue) eingerichtet.

Ich habe einen Antrag, der als Produzent und ein anderer (anderer Computer) als Verbraucher fungiert.

Ich verstehe, dass die JMS-Spezifikation die Reihenfolge der Zustellung nicht garantiert, aber ich suche nach einer Möglichkeit, genau das zu tun: Empfangen Sie die Nachrichten genau in der Reihenfolge, in der sie gesendet wurden. auch wenn es Provider-spezifisch ist.

Irgendwelche Ideen?

    
Bogdan 03.11.2010, 08:35
quelle

2 Antworten

2

Offenbar kann dies erreicht werden, indem der Consumer-Cache deaktiviert wird. Dies geschieht durch Ändern der hornetq-jms.xml :

%Vor%     
Bogdan 03.11.2010, 09:17
quelle
1

Tatsächlich Abschnitt 4.4.10.2 (Reihenfolge der Nachrichtensende) der JMS-Spezifikation ist ziemlich klar über die Bestellung.

Wenn Sie einen einzelnen Producer und einen einzelnen Consumer für eine Warteschlange oder ein Topic-Abonnement haben, ist die Nachrichtenreihenfolge auch bei Neuzustellungen immer gewährleistet.

Wenn Sie mehrere Konsumenten haben, kann die Client-Pufferung im Fall von Rollbacks oder beim Schließen des Konsumenten erneut bereitgestellt werden, und der Client-Puffer wird möglicherweise nicht mehr bestellt.

Auf HornetQ haben Sie auch die Nachrichtengruppe, die zu den erzeugten Nachrichten zusätzliche Ordnungsbeschränkungen berechtigt.

    
Clebert Suconic 06.06.2011 01:18
quelle

Tags und Links