Bunu Google'a denemeye çalıştım, ancak başarılı olmadım. AUTO_ACKNOWLEDGE
kullanıyorum ve Java'da yazılmış bir tüketici istemcim varsa, ileti ne zaman onaylanır? onMessage
yöntemini içeren bir MessageListener
kullanıyorum. Onay, onMessage
'dan önce veya onMessage
'dan sonra veya başka bir noktadan sonra sunucuya geri gönderiliyor mu? Sağlayabileceğiniz herhangi bir yardım için şimdiden teşekkür ederiz!JMS AUTO_ACKNOWLEDGE ne zaman onaylandı?
cevap
Lütfen bu one numaralı telefonu kontrol edin.
AUTO_ACKNOWLEDGE
10 modu ile onay her zaman, onMessage()
işleyicisi geri döndükten sonra örtük olarak gerçekleşecek son şeydir. Mesajları alan istemci, tüketilen oturumda CLIENT_ACKNOWLEDGE
modunu belirterek, garantili mesajların teslimatı üzerinde daha hassas kontrol sağlayabilir.
CLIENT_ACKNOWLEDGE
kullanımı, onaylama gönderildiğinde uygulamanın denetlenmesine izin verir. Örneğin, bir uygulama bir mesajı kabul edebilir - böylece JMS sağlayıcısını görevinden alabilir - ve mesajın temsil ettiği verilerin daha fazla işlenmesini gerçekleştirebilir. acknowledge()
yöntem ileti başarıyla tüketici tarafından alındıktan JMS sağlayıcı bildirir 1.
Liste gösterildiği gibi, bu anahtarı, Mesaj nesnesi üzerinde onaylama() yöntemidir. Bu yöntem, onaylama işlemi sırasında bir sağlayıcı hatası oluşursa, istemciye bir istisna atar. Sağlayıcı hatası, iletilmek üzere JMS sunucusu tarafından saklanan iletiyle sonuçlanır.
CLIENT_ACKNOWLEDGE bu onay modu
, istemci, iletinin kabul yöntemini çağırarak bir tüketilen mesajı kabul eder. oturumu başarıyla alabilir veya bir çağrı döndü zaman bu onay moduyla AUTO_ACKNOWLEDGE
Session session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
...
msg = (TextMessage) consumer.receive();
//acknowledge
msg.acknowledge();
, oturum otomatik olarak mesajın bir müşterinin makbuz kabul ya mesaj dinleyici oturumu sürecine denir zaman Mesaj başarıyla geri döner.
bir istisna `onMessage()` işlenmesi sırasında atılır ne olurSession session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);
? "AUTO_ACKNOWLEDGE" öğesi ayarlanmışsa mesaj tekrar gönderilecek mi? – Geek
@Geek - İstisna onReceive veya JMSListener içine atılırsa, alındı bildirimi gönderilmez ve redelivered – GameSalutes
AUTO_ACKNOWLEDGE ile eşzamanlı olarak ileti alırsa, customer.receive yöntemini çağırırken mesaj kabul edilir – Wecherowski