2015-05-08 15 views
5

Sorum şu 2 fabrikaların kullanımına hakkındadır vs: Şu andaJMS QueueConnectionFactory ConnectionFactory

  • ConnectionFactory
  • QueueConnectionFactory

Sadece her şeyi başlatmak için bir ConnectionFactory kullanın:

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

y, QueueConnectionFactory hemen hemen aynı şekilde çalışır. Tam olarak aynı şey mi?

Özellikle iki nesneyi içeren bir JNDI bağlamı kullandığım için merak ediyorum. Yani, hangisini kullanmayı tercih ettiğimi bilmiyorum.

cevap

7

javax.jms paket API diyor ki:

iki alana özgü API'ler, bir tane tanımlanmış JMS 1.0 • noktadan-: Tarihsel nedenler JMS için

mesaj gönderme ve alma için arayüzleri dört alternatif kümesi sunar - mesajlaşma (kuyruklar) ve bir tane de pub/alt (konular). Bunlar geriye dönük uyumluluk nedenlerinden dolayı JMS'nin bir parçası olarak kalmasına rağmen, daha sonraki API'ler tarafından tamamen kabul edilmiş sayılmalıdır.

• JMS 1.1, hem noktadan noktaya hem de pub/alt mesajlaşma için kullanılabilecek tek bir arabirim seti sunan yeni bir birleştirilmiş API'yi kullanıma sundu. Bu, klasik API olarak anılacaktır.

• JMS 2.0, klasik API'nin tüm özelliklerini sunan ancak daha az arabirim gerektiren ve kullanımı daha basit olan basitleştirilmiş bir API sunar. Her bir API, bir JMS sağlayıcısına bağlanmak ve mesaj gönderip almak için farklı bir arayüz seti sunar. Bununla birlikte, her biri mesaj ve mesaj hedeflerini temsil etmek ve çeşitli faydalı özellikler sağlamak için ortak bir dizi arayüze sahiptir.

Diğer bir deyişle, QueueConnectionFactory yalnızca eski bir arabirimdir

İlgili konular