Zookeeper的功能以及工作原理

2021-08-30 17:51:50 字數 2195 閱讀 3856

**:

前言前面有一篇部落格講到了spring boot整合jms的使用

但是最近遇到乙個需求,需要同時使用jms的佇列和topic,於是就有了下面的測試**:

消費者**

解決方案如下:

@configuration

@enablejms

public class jmsconfig

@bean

public jmslistenercontaine***ctory<?> queuelistene***ctory(connectionfactory connectionfactory)

}上面的**的作用是建立了兩個jmslistenercontaine***ctory,分別是topiclistene***ctory和queuelistene***ctory,其中topiclistene***ctory建立的時候,將pubsubdomain設定成了true,表示該listener負責處理topic;queuelistene***ctory建立的時候,將pubsubdomain設定成了false,也就是說,jms預設就是queue模式,該listener主要負責處理queue。

修改消費者**:

@component // 必須加此註解,該類才會被作為message driven pojo使用

public class consumer

@jmslistener(destination="mytest.topic", containe***ctory="topiclistene***ctory")// 增加對應處理的***工程

public void receivetopic(textmessage text) throws jm***ception

}再跑一下前面的測試,結果如下:

defaultmessagelistenercontainer-1:consumer收到的報文為:myname is chhliu!!!1

i'm the king of the world!

defaultmessagelistenercontainer-1:consumer收到的報文為:myname is chhliu!!!2

i'm the king of the world!

defaultmessagelistenercontainer-1:consumer收到的報文為:myname is chhliu!!!3

i'm the king of the world!

defaultmessagelistenercontainer-1:consumer收到的報文為:myname is chhliu!!!4

i'm the king of the world!

defaultmessagelistenercontainer-1:consumer收到的報文為:myname is chhliu!!!5

i'm the king of the world!

defaultmessagelistenercontainer-1:consumer收到的報文為:myname is chhliu!!!6

i'm the king of the world!

defaultmessagelistenercontainer-1:consumer收到的報文為:myname is chhliu!!!7

i'm the king of the world!

defaultmessagelistenercontainer-1:consumer收到的報文為:myname is chhliu!!!8

i'm the king of the world!

defaultmessagelistenercontainer-1:consumer收到的報文為:myname is chhliu!!!9

i'm the king of the world!

defaultmessagelistenercontainer-1:consumer收到的報文為:myname is chhliu!!!10

i'm the king of the world!

我們發現,queue和topic都生效了。但是卻產生了另外乙個問題,併發消費不啟作用了,從上面跑的測試結果可以看出,消費執行緒都是defaultmessagelistenercontainer-1這個執行緒,那怎麼來解決這個問題了,突破口在defaultjmslistenercontaine***ctory上,該類有很多的配置,我們可以根據專案的需求來新增配置,例如,如果想併發消費生效,可以加如下配置

Zookeeper的功能以及工作原理

1.zookeeper是什麼?zookeeper是乙個分布式的,開放原始碼的分布式應用程式協調服務,是google的chubby乙個開源的實現,它是集群的管理者,監視著集群中各個節點的狀態根據節點提交的反饋進行下一步合理操作。最終,將簡單易用的介面和效能高效 功能穩定的系統提供給使用者 2.zook...

樣式功能以及設計功能

目錄 設計樣式 樣式選單功能主要是用來簡化的重複性的文字標題格式處理工作,利用樣式選單裡面的選項卡選擇適合的樣式對目標標題進行修改。樣式選單功能在開始選單裡面。1.單行修改標題只需要將游標放在標題的最後。2.選擇點選合適的標題樣式。1.選中要修改的多行標題。2.選擇點選合適的標題樣式。檢視標題目錄可...

Flask 框架的功能 以及 重點。

flask 本身相當於乙個核心,其他幾乎所有的功能都要用到擴充套件 郵件擴充套件 flask mail 使用者認證 flask login 資料庫 flask sqlalchemy 都需要用第三方的擴充套件來實現。比如可以用 flask 擴充套件加入 orm 窗體驗證工具,檔案上傳 身份驗證等。fl...