JSM的topic和queue的區別

來源:互聯網
上載者:User

標籤:lib   bind   auto   電腦   java   listen   使用者   share   cer   

JMS(JavaMessage Service)中,Topic實現publish和subscribe語義。一條訊息被publish時,它將發到所有感興趣的訂閱者,所以零到多個 subscriber(電腦詞彙中解釋為“使用者“)將接收到訊息的一個拷貝。但是在訊息代理接收到訊息時,只有啟用訂閱的subscriber能夠獲得訊息的一個拷貝。 

JMS Queue執行load balancer語義。一條訊息僅能被一個consumer收到。如果在message發送的時候沒有可用的consumer,那麼它將被儲存一直到能處理該message的consumer可用。如果一個consumer收到一條message後卻不響應它,那麼這條訊息將被轉到另一個consumer 那兒。一個Queue可以有很多consumer,並且在多個可用的consumer中負載平衡

Jms規範裡的兩種message傳輸方式Topic和Queue,兩者的對比如下表():

 

 

確認訊息的方式有如下三種

AUTO_ACKNOWLEDGE(自動通知)

CLIENT_ACKNOWLEDGE(用戶端自行決定通知時機)

DUPS_OK_ACKNOWLEDGE(延時//批量通知)

如果使用的是 用戶端自行決定通知時機方式,那麼需要在MessageListener顯式調用message.acknowledge()來通知伺服器。伺服器接收到通知後採取相應的操作。

 
6

JSM的topic和queue的區別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.