ActiveMQ學習四 事務訊息和ACK應答

2021-10-08 05:42:26 字數 786 閱讀 1346

activemq訊息簽收方式在建立session的時候指定

session session = connection.createsession(transaction, acknowledgemode);

session.auto_acknowledge:當客戶成功的從receive方法返回的時候,或者從messagelistener.onmessage方法成功返回的時候,session自動確認客戶收到的訊息。

session.client_acknowledge:客戶通過呼叫訊息的acknowledge方法(message.acknowledge())確認訊息。需要注意的是,在這種模式中,確認是在session層上進行,確認乙個被消費的訊息將自動確認所有已被session消費的訊息。

例如,如果乙個訊息消費者消費了10 個訊息,然後確認第5個訊息,那麼所有10個訊息都被確認。

session.dups_acknowledge:該選擇只是session遲鈍的確認訊息的提交。如果jmsprovider失敗,那麼可能會導致一些重複的訊息。如果是重複的訊息,那麼jmsprovider 必須把訊息頭的jmsredelivered欄位設定為true

activemq訊息是否支援事務同樣在建立session的時候指定

session session = connection.createsession(transaction, acknowledgemode);

支援事務後send後不會傳送,commit後才會發出去(sssion.commit()),同樣,消費的時候也需要commit才會完成消費(session.commit())

ActiveMQ訊息佇列

這個東西沒接觸到的時候挺懵的,用過一次之後,哇哦 public class producter catch jm ception e public void sendmessage string disname,listlist else thread.sleep 1000 int num coun...

Activemq訊息型別

activemq訊息型別 jms規範中的訊息型別包括textmessage mapmessage objectmessage bytesmessage 和streammessage 等五種。activemq也有對應的實現,下面我們結合spring jms分別來看一下五種訊息型別的收發 1 textm...

activeMQ訊息佇列

session.auto acknowledge。當客戶成功的從receive 方法返回的時候,或者從messagelistener.onmessage方法成功返回的時候,會話自動確認客戶收到的訊息。session.client acknowledge。客戶通過訊息的 acknowledge 方法確...