進一步瞭解ActiveMQ

進一步瞭解ActiveMQ

    一、JMS選擇器

    在生產端發送消息的時候,可以對每一個消息設置屬性,大概有以下的方法,可以設置int類型、boolean類型、byte類型等的key-value對應的屬性:


    設置完成後,可以在消費時,加入類似於“age>25”的條件,在創建消費者時進行篩選。

    大致過程如下:

  1. 生產端代碼段:

  2. 消費端代碼段:

    二、消息的接受方式

    我們在文一中介紹消費者的接受方式是使用調用receive阻塞去等待消息服務器發送消息,此方式爲同步,並不優雅,我們可以通過註冊監聽器的方式實現消息的接受:

    

    此異步,其實就是新建了一個線程輪詢着觀察。

    三、持久化訂閱

    發佈/訂閱模式是一種一對多的消息傳播方式,但是對訂閱者來說有一個要求,需要在消息發佈之前,便啓動訂閱,也就意味着訂閱者需要始終處於運行狀態。

    那麼,如果訂閱者此時未能運行該如何呢?這就引出了持久化訂閱。

    持久化訂閱的意思是,即使訂閱者當時沒有處於運行狀態,但是,可以先將訂閱內容持久化,等到訂閱者運行時,再將訂閱內容接受,代碼如下:

    

    每一個需要持久化的訂閱者需要有唯一客戶端ID。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章