Ich habe eine Nachrichtenwarteschlange mit einem Producer und einem Consumer für asynchrone Anfragen mit garantierter Zustellung mit Anwendung einiger Timeout-Richtlinien. Die Bestellung dieser Nachrichten macht keinen Sinn. Jede Nachricht ist voneinander isoliert und hat ihr eigenes Geschäftsszenario. Also brauche ich keine Reihenfolge in der Nachrichtenwarteschlange. Das Problem besteht jedoch darin, dass die Warteschlange durch die erste Nachricht blockiert wird, die nicht zugestellt werden kann. Andere Nachrichten sind korrekt und bereit, auf die richtige Art und Weise verarbeitet zu werden, aber sie müssen auf eine "schlechte" Nachricht warten, die zugestellt werden soll.Wie kann die Sortierung in ActiveMQ unterdrückt werden?
Java und JMS mit Spring auf den Queue-Client-Seiten.
Ist es möglich, ActiveMQ-Warteschlange ohne jede Bestellung, aber mit individuellen Redelivering Timeouts für jede Nachricht zu machen?
Ja, ich dachte über logisch eine Nachricht - eine Warteschlange, aber es sieht "hacky" (Entschuldigung, kann nicht passender Wort in Englisch zu erfinden). Wie verhält sich ActiveMQ, wenn die Anzahl der Warteschlangen Tausende beträgt? Es scheint, dass ich Logik zum Löschen alter Warteschlangen oder zum Verwalten mehrerer tausend Warteschlangenpools und zum Versenden von Nachrichten in diesen Pool benötige. Mit anderen Worten ist es möglich, Workaround, aber es ist komplizierter, dass es sein sollte. – Donz
Und ich habe versucht, mit Prioritäten zu spielen - ActiveMQ nichts mit neuer Nachricht mit höherer Priorität tun, wenn alte noch nicht geliefert wurde. – Donz
Lesen Sie die Dokumentation, es gibt Antworten dort für beide diese Fragen –