2015-05-08 7 views
5

Meine Frage bezieht sich auf die Verwendung der folgenden zwei Fabriken:JMS Queueconnectionfactory vs ConnectionFactory-

  • ConnectionFactory-
  • Queueconnectionfactory

Im Moment benutze ich nur eine ConnectionFactory alles zu initialisieren:

Connection conn = factory.createConnection(user, pw); 
Session session = conn.createSession() 
Destination dest = session.createQueue('xyz') 
... 

Wenn ich richtig verstehe y, funktioniert die QueueConnectionFactory ziemlich genau so. Ist es genau dasselbe?

Ich frage mich besonders, weil ich einen JNDI-Kontext verwende, der beide Objekte enthält. Also, ich bin mir nicht sicher, welche ich am liebsten benutzen würde.

Antwort

7

javax.jms Paket API sagt:

Für JMS historischen Gründen bietet vier alternative Sätze von Schnittstellen zum Senden und Empfangen von Nachrichten:

• JMS 1.0 zwei domänenspezifische APIs definiert, eines für Punkt-zu -Point Messaging (Warteschlangen) und eine für Pub/Sub (Themen). Obwohl diese aus Gründen der Rückwärtskompatibilität Teil von JMS bleiben, sollten sie von den späteren APIs als vollständig abgelöst betrachtet werden.

• JMS 1.1 führte eine neue vereinheitlichte API ein, die einen einzigen Satz von Schnittstellen bot, die sowohl für Punkt-zu-Punkt- als auch für Pub/Sub-Messaging verwendet werden konnten. Dies wird hier als klassische API bezeichnet.

• JMS 2.0 führt eine vereinfachte API ein, die alle Funktionen der klassischen API bietet, aber weniger Schnittstellen benötigt und einfacher zu verwenden ist.

Jede API bietet verschiedene Schnittstellen für die Verbindung mit einem JMS-Provider und für das Senden und Empfangen von Nachrichten. Sie alle teilen jedoch einen gemeinsamen Satz von Schnittstellen zum Darstellen von Nachrichten und Nachrichtenzielen und zum Bereitstellen verschiedener Dienstprogrammfunktionen.

Mit anderen Worten Queueconnectionfactory ist einfach eine Legacy-Schnittstelle

Verwandte Themen