Kuyruk ve Konu, JMS tarafından desteklenen iki mesajlaşma modelidir: 1. Noktadan noktaya (PTP) Kuyruk mesajlaşma modeli: Bu mesajlaşma modeli ile bir uygulama (yani mesaj üreticisi) başka bir uygulamaya (yani mesaj tüketicisine) mesaj gönderebilir. Bu teslimat modelinde, mesaj hedef tipi bir kuyruğudur (yani, Destination interface uygulama sınıfı örneği, Oturum arayüzü uygulama sınıfı örneği tarafından createQueue metodu çağrılıp kuyruk adını ileterek oluşturulur). Mesaj önce mesaj sunucusu tarafındaki belirli bir kuyruğa iletilir ve oradan da bu kuyruğu dinleyen bir tüketiciye ulaşılır. Aynı kuyruk, birden fazla mesaj üreticisi ve mesaj tüketicisini ilişkilendirebilir, ancak bir mesaj yalnızca bir mesaj tüketicisine iletilebilir. Eğer birden fazla mesaj kullanıcısı kuyruktaki mesajları dinliyorsa, JMS mesaj sunucusu "ilk gelen ilk gelen" ilkesine göre hangi mesaj tüketicisinin bir sonraki mesajı alacağını belirler. Eğer mesaj tüketicisi kuyruğu dinlemiyorsa, mesaj müşteri kuyruğu bağlayana kadar kuyrukta kalır. Bu mesajlaşma modeli, geleneksel anlamda tembel veya anket modelidir. Bu modelde, mesajlar otomatik olarak mesaj tüketicisine gönderilmez, mesaj tüketicisi tarafından kuyruk üzerinden istenir. 2. Yayın/abone (yayın/alt alt) konu mesajlaşma modeli: Bu mesajlaşma modeli ile uygulamalar, birden fazla mesaj kullanıcısına tek bir mesaj gönderebiliyor. Bu teslimat modelinde, mesaj hedef tipi konudur (yani, Destination arayüzü uygulama sınıfı örneği, Oturum arayüzü uygulama sınıfı örneği tarafından createTopic metodu çağrılıp konu adını ileterek oluşturulur). Mesaj, mesaj sunucusunda belirli bir konuya mesaj üreticisi tarafından yayınlanır ve ardından mesajı konuya abone olan tüm tüketicilere iletilir. Konu hedefleri uzun vadeli abonelikleri de destekler. Uzun vadeli abonelik, tüketicinin konu hedefine kayıtlı olduğu anlamına gelir, ancak mesaj varış noktasına ulaştığında tüketici aktif olmayabilir. Mesaj, tüketici tekrar aktif olduğunda alınacaktır. Eğer tüketicilerden hiçbiri bir konu hedefine kayıtlı değilse, konu yalnızca uzun süreli abonelik kaydetmiş aktif olmayan tüketiciler için mesajları saklar. PTP mesajlaşma modelinin aksine, pub/sub mesajlaşma modeli birden fazla konu abonesinin aynı mesajı almasına olanak tanır. JMS, tüm konu aboneleri mesajı alana kadar mesajı saklar. Pub/sub mesajlaşma modeli temelde bir push modelidir. Bu modelde mesajlar otomatik olarak yayınlanır ve mesaj tüketicileri yeni mesajlar almak için konuları aktif olarak talep etmelerine veya anket yapmasına gerek kalmaz. Spesifik farklar şunlardır:
tür
| Konu
| Kuyruk | Genel Bakış
| Mesajları Yayınla Abone Mesajları Abonelik mesajlarını yayınla
| Noktadan Noktaya Noktadan Noktaya
| Devlet yok
| Konu verisi varsayılan olarak durumsuzdur.
| Kuyruk verisi varsayılan olarak MQ sunucusunda dosya olarak kaydedilir; örneğin, Aktif MQ genellikle $AMQ_HOME\data\kr-store\data altında saklanır. Ayrıca veritabanı deposu olarak da yapılandırılabilir.
| Bütünlük garantisi
| Yayıncı tarafından yayımlanan her verinin abone tarafından kabul edileceği garantisi yoktur.
| Kuyruk her verinin alıcı tarafından alınabileceğini garanti eder.
| mesajın kaybolup olmayacağı
| Genel olarak, bir yayıncı bir konuya mesaj yayımladığında, sadece konu adresini dinleyen alt forum mesajı alabilir. Eğer alt dinleyici yoksa, konu kaybolur.
| Gönderici hedef Kuyruk'a bir mesaj gönderir ve alıcı bu Kuyruk üzerindeki mesajları asenkron olarak alabilir. Kuyruk üzerindeki mesajlar, şimdilik onları alacak alıcı yoksa kaybolmaz.
| Mesaj yayınlama kabul politikası
| Bire çok mesaj yayınlama ve alma politikası, aynı konu adresini dinleyen birden fazla alt grup, yayıncı tarafından gönderilen mesajları alabilir. Alt forum, bildirimi mq sunucusuna alır
| Bire bir mesaj yayınlama ve alma politikaları, gönderen tarafından gönderilen mesajlar yalnızca bir alıcı tarafından alınabilir. Alıcı aldıktan sonra, MQ sunucusu MQ sunucusuna mesajın alındığını bildirir ve MQ sunucusu kuyruk içindeki mesajları siler veya başka işlemler yapar.
|
|