Ich möchte das Konzept der JMS Themen mit HornetQ Kern API übersetzen.Ohne den JMS Wrapper zu verwenden, wie man JMS Thema w/HornetQ Kern API emuliert
Das Problem, das ich von meiner kurzen Untersuchung sehe es scheint, die Hauptklasse JMSServerManagerImpl (von Hornetq-jms.jar) verwendet Jndi, um die verschiedenen Mitarbeiter zu koordinieren, die es benötigt. Ich möchte Jndi vermeiden, da es nicht selbstständig ist und ein global geteiltes Objekt ist, was ein Problem ist, besonders in einer osgi-Umgebung. Eine Alternative ist das Kopieren ab JMSServerManagerImpl, aber das scheint eine Menge Arbeit zu sein.
Ich hätte lieber eine Bestätigung, dass mein Ansatz, zu emulieren, wie Themen in Hornetq unterstützt werden, der richtige Weg ist, um dieses Problem zu lösen. Wenn jemand über genügend Wissen verfügt, können sie vielleicht einen Kommentar dazu abgeben, was ich denke, ist der Ansatz, meine eigene Emulation von Themen unter Verwendung der Kern-API zu schreiben.
NAHME
- , wenn eine Nachricht Verbraucher fehlschlägt (via Rollback) der Behälter versuchen, die Nachricht an einen anderen verschiedenen Verbraucher für das gleiche Thema Deliverying.
EMULATION
- Wrap jede Nachricht, die für das Thema hinzugefügt wird.
- Absender sendet Nachricht mit einer Bestätigungsroutine.
- der Wrapper für (1) würde Rollback nach dem tatsächlichen Hörer kehrt zurück.
- der Absender dann erkennt Lieferung
Ich gehe davon aus nach 4 der msg, nachdem sie gegeben an alle msg Empfänger geliefert wird. Wenn ich irgendwelche Fehler gemacht habe oder meine Annahmen falsch sind, bitte Kommentar. Ich bin mir nicht sicher, ob diese Annahme, wie Bestätigungen funktionieren, korrekt ist, also wären alle Zeiger nett.
Eigentlich ist das nicht die richtige Antwort, die nächste Frage, wo Sie mehrere Warteschlangen erstellen, ist die richtige Antwort ... Ein Topic-Abonnement ist nichts anderes als eine Core-Queue. –