Ich habe zwei Systeme, die verschiedene Arten von Nachrichten produzieren, die ich konsumieren und dann neue Nachrichten auf der Grundlage dieser Nachrichten generieren muss.
-
Die erste erzeugt NEWFILE-Nachrichten, die einen Dateinamen enthalten und in einer Warteschlange eintreffen warteschlange:datei.neu .
-
Die zweite erzeugt TASK-Nachrichten, die einen Dateinamen und einen Aufgabentyp enthalten, und geht zu warteschlange:aufgabe .
-
Es werden nur eine NEWFILE-Meldung für einen bestimmten Dateinamen.
-
Es werden mehrere TASK-Meldungen für einen bestimmten Dateinamen, jede mit einem anderen TaskType.
-
Die Nachrichten können in beliebiger Reihenfolge eintreffen.
Ich muss jede TASK-Nachricht, die auftaucht, weiterleiten an queue:perform pero nur wenn eine NEWFILE-Meldung für den entsprechenden Dateinamen eingetroffen ist.
Im Moment führen wir diesen Abgleich in einem anderen (nicht Warteschlangen-basierten) System durch, das Polling verwendet, um die DATEIEN und AUFGABEN zu finden, und zwei Tabellen verwaltet, eine für DATEIEN und eine für AUFGABEN, und wenn eine von beiden auftaucht, prüfen wir, welche Übereinstimmungen es gibt und feuern die entsprechende Aufgabe.
Wir möchten diese durch eine Messaging-Lösung ersetzen, bei der wir so wenig Status wie möglich beibehalten und so viel wie möglich von Enterprise Patterns (Apache Camel) Gebrauch machen.
Es ist mir nicht klar, welche Muster/Komponenten meinen Anforderungen entsprechen würden.
Danke, Tom