Ihr System wird viel flexibler sein, wenn es mit den Out-of-Order-Nachrichten umgehen kann. Das Muster, das ich verwendet habe, um dies in der Vergangenheit zu lösen, ist die Verwendung einer Verzögerungswarteschlange (auf einem System, das 8 Millionen Nachrichten pro Tag in der Finanzwelt verarbeitet).
In Ihrem Beispiel, wenn ich eine Löschung für eine Bestellung erhalten hatte, die ich noch nicht erhalten hatte, würde ich sie für einen bestimmten Zeitraum verschieben und es erneut versuchen. Wenn ich noch nichts über die Reihenfolge wusste, die ich löschen soll, würde ich einen Fehler melden (Antwort an den ursprünglichen Absender, sende eine Nachricht an eine spezielle Fehlerwarteschlange, ...).
Bei der Implementierung der Verzögerungswarteschlange kann dies eine andere JMS-Warteschlange mit einem Dienst sein, der Nachrichten akzeptieren kann, die verzögert werden sollen. Es liest dann periodisch die verzögerten Nachrichten und prüft, ob der verzögerte Zeitraum abgelaufen ist, und sendet die Nachricht erneut an die ursprüngliche Zielwarteschlange.
Danke, ich werde mir das ansehen – user271858