ActiveMq實踐之排他性消費者

2021-09-01 16:28:06 字數 812 閱讀 1552

activemq支援的功能:排他性消費者

背景:這個功能主要是為了解決jms集群的問題而提出的

當你使用product 產生乙個訊息並且放置到乙個queue中的時候

如果說你使用了集群,並且每乙個集群裡面消費的佇列都是剛才的那個佇列

那麼這個時候就會出現併發的時候 這麼多集群

同時都消費了這個佇列裡面產生的訊息,出現了重複的消費

一般的情況下碰到這個請求時候就只能在集群中使用乙個jvm來關聯到這個佇列中

其他的伺服器是不可以和那個佇列相關聯的,但是這樣做也會存在乙個錯誤的地方

那就是會造成一旦這個單獨的jvm程序終止的話,就沒有辦法處理這個佇列中的內容了

這樣就失去了集群本來的含義了

排他性消費者:

針對以上的問題,activemq提出了排他性消費者這個功能,該功能支援你的集群中所有的

主機配置啟動和執行都是一摸一樣的,activmq會自動幫你找到乙個主機當做是master,然後

使用的時候會把queue都讓這個主機來消費,一旦這個主機down掉了以後那麼就會自動的找其他的主機來做備份機,來消費這個訊息

這個就很類似真正的集群了,或者說是實現了負載均衡策略

例項:一般情況下排他性消費是使用在佇列的後面加乙個可選的屬性來決定的,如下列的例子:

queue = new activemqqueue("test.queue?[color=red]consumer.exclusive=true[/color]");

consumer = session.createconsumer(queue);

activemq之安全配置

web控制台的安全配置 角色型別 主控管理員admin,以及普通使用者user 控台登入的密碼儲存在conf jetty realm.properties 預設配置格式 注意 使用者名稱和密碼的格式是 使用者名稱 密碼 角色名 配置樣例 佇列 主題的訪問安全配置 activemq 如果不加入安全機制...

ActiveMQ之訂閱恢復策略

生產者在某個topic傳送了多條訊息後,這個時候非持久訂閱者才訂閱,那麼它是不能獲取之前生產者傳送的資訊的。或者,由於網路問題,非持久型別的消費者處於非活躍狀態,無法接收到生產者傳送的訊息。使用訊息恢復策略,可以解決上面的問題。activemq目前支援乙個定時或固定大小的恢復緩衝區,在你連線到bro...

activeMq 傳送模式之 點對點

1.1.1 activemq 倆種傳送模式之一 點對點模式 訊息生產者 也就是傳送方 1.建立連線工廠 connectionfactory connectionfactory newactivemqconnectionfactory tcp 2.獲取連線 connection connection ...