Ich habe eine Oracle 19-Datenbank, in der ich Oracle AQ für seine Warteschlangenfunktionen nutzen wollte.
Während eines Flusses wird eine Nachricht erstellt. Nachrichten können entweder vom „Typ A“ oder vom „Typ B“ sein.
Ich hatte geplant, eine separate Anwendung (Java) mit einer Verbindung zur gemeinsam genutzten Datenbank mit JMS-Listenern zu haben. Die Absicht bestand darin, dass der JMS-Listener einen Selektor verwendet, um nur eine Nachricht vom Typ „A“ aus der Warteschlange zu entfernen, und ein anderer JMS-Listener den Typ „B“ aus der Warteschlange entfernt.
Jeder Listener würde dann die Nachricht transformieren und stellen Sie eine HTTP-Anfrage an ein Drittsystem (verschiedene Systeme für A/B mit unterschiedlichen API-Spezifikationen).
Alle Nachrichten müssen innerhalb eines bestimmten Nachrichtentyps in der richtigen Reihenfolge bleiben, daher ist dies eine einzelner JMS-Listener pro Typ.
Ist es möglich, mehrere Nachrichtentypen in eine einzelne Warteschlange einzureihen, indem ein Attribut verwendet wird, um sie in „Typen“ einzufügen?
I Ich habe versucht, einen Nachrichtenselektor auf dem JMS-Listener zu verwenden, hatte aber bisher kein Glück.
Ich habe die folgenden zwei Möglichkeiten beim Einreihen der Nachricht in die Warteschlange untersucht:
message_payload.set_string_property('type', 'A')
oder die benutzerdefinierte user_property von message_properties_t ohne Erfolg verwenden.
Jeder Rat ist willkommen. Danke
Oracle AQ – Mehrere JMS-Listener zum Entfernen eines bestimmten benutzerdefinierten „Nachrichtentyps“ aus der Warteschla ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post