2015-05-08 44 views
5

Moje pytanie jest o wykorzystaniu następujących 2 fabryki:JMS QueueConnectionFactory vs ConnectionFactory

  • ConnectionFactory
  • QueueConnectionFactory

w tej chwili po prostu użyć ConnectionFactory zainicjować wszystko:

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

Jeśli rozumiem poprawne y, QueueConnectionFactory działa w podobny sposób. Czy to dokładnie to samo?

Zastanawiam się szczególnie, ponieważ używam kontekstu JNDI, który zawiera oba obiekty. Więc nie jestem pewien, który powinienem użyć.

Odpowiedz

7

javax.jms pakiet API mówi:

Ze względów historycznych JMS oferuje cztery alternatywne zestawy interfejsów do wysyłania i odbierania wiadomości:

• JMS 1.0 zdefiniowano dwa interfejsy API specyficznych domen, jeden dla Point-to -punkty komunikacyjne (kolejki) i jedno dla pub/sub (tematy). Mimo że są one częścią JMS ze względu na kompatybilność wsteczną, należy je uznać za całkowicie zastąpione przez nowsze interfejsy API.

• JMS 1.1 wprowadził nowy, ujednolicony interfejs API, który oferował pojedynczy zestaw interfejsów, który może być używany zarówno do przesyłania komunikatów między punktami, jak i do publikacji pub/sub. Nazywa się to tutaj klasycznym API.

• JMS 2.0 wprowadza uproszczony interfejs API, który oferuje wszystkie funkcje klasycznego API, ale który wymaga mniejszej liczby interfejsów i jest prostszy w użyciu.

Każdy interfejs API oferuje inny zestaw interfejsów do nawiązywania połączeń z dostawcą JMS oraz do wysyłania i odbierania wiadomości. Jednak wszystkie mają wspólny zestaw interfejsów do reprezentowania wiadomości i miejsc docelowych wiadomości oraz do zapewniania różnych funkcji użytkowych.

Innymi słowy QueueConnectionFactory jest po prostu starszym interfejsem