ActiveMQ中Session設定的相關理解

2022-01-12 07:20:11 字數 1027 閱讀 2638

名詞解釋:

p:生產者

c:消費者

服務端:p或者activemq服務

客戶端:activemq服務或者c

客戶端成功接收一條訊息的標誌是這條訊息被簽收。成功接收一條訊息一般包括如下三個階段: 

1.客戶端接收訊息; 

2.客戶端處理訊息; 

3.訊息被簽收。

在不帶事務的 session 中,一條訊息何時和如何被簽收取決於session的設定。 

1.session.auto_acknowledge 

當客戶端從 receive 或 onmessage成功返回時,session 自動簽收客戶端的這條訊息的收條。

2.session.client_acknowledge 

客戶端通過呼叫訊息的 acknowledge 方法簽收訊息。

在帶事務的 session 中,簽收自動發生在事務提交時。如果事務回滾,所有已經接收的訊息將會被再次傳送。

白話總結:

1、對於生產者:服務端端為p,客戶端為activemq服務。  session設定為auto_acknowledge 和client_acknowledge ,相對來說區別不是很大,根據情況考慮。

2、對於消費者:服務端為activemq為服務,客戶端為c。 session設定為auto_acknowledge ,接收到訊息(receive 或 onmessage成功返回時),即為消費成功,然後從佇列裡移除該資料。不關心該資料有沒有正確被處理成我們想要的結果;session設定為client_acknowledge 時,必須手動呼叫acknowledge 方法才為消費成功,然後從佇列裡移除該條資料。

3、p和c的session設定成哪種模式,互不影響。

歡迎提意見

Python中cookie和session的異同點

cookie和session的異同點 共同點 1.cookie和session都是用來儲存資料的 2.cookie和session都可以設定有效時間 不同點 1.cookie是儲存在瀏覽器客戶端,session是儲存在服務端 2.session相對cookie來說更更安全 3.session依賴於c...

Flask中的cookie和session淺知

cookie技術的必要性 cookie的實現原理 cookie時用來將使用者資訊儲存在客戶端的技術,使用者資訊會被存放於客戶端的計算機中。cookie儲存到客戶端之後,當使用者再次通過瀏覽器發起對伺服器的請求的時候,瀏覽器就會自動帶著此 相關的cookie資訊來請求資料庫。而cookie資訊裡面儲存...

SqlServer中如何解決session阻塞問題

簡介 對於資料庫運維人員來說建立session或者查詢時產生問題是常規情況,下面介紹一種很有效且不借助第三方工具的方式來解決類似問題。最近開始接觸運維工作,所以自己總結一些方案便於不懂資料庫的同事解決一些不太緊要的資料庫問題。類似方法很多理論也很多,我就不做深究,就是簡單寫乙個方案,便於菜鳥使用的。...