RabbitMQ之Topic交換器模式開發

2022-06-19 07:45:08 字數 2386 閱讀 3000

topic交換器,即主題模式,進行規則匹配。

配置檔案

2 spring.rabbitmq.host=192.168.50.30

3 spring.rabbitmq.port=5672

4 spring.rabbitmq.username=rabbit

5 spring.rabbitmq.password=rabbit

6#設定交換器名稱

7 mq.config.exchange=log.topic

**

1

public

class

usersender ")

6private

string exchange;78

public

void

send(string msg)

1314

public

void

send2(string msg)

18 }

配置檔案

2 spring.rabbitmq.host=192.168.50.30

3 spring.rabbitmq.port=5672

4 spring.rabbitmq.username=rabbit

5 spring.rabbitmq.password=rabbit

6#設定交換器名稱

7 mq.config.exchange=log.topic

8#info 佇列名稱

9 mq.config.queue.info=log.info

10#error 佇列名稱

11 mq.config.queue.error=log.error

12#log 佇列名稱

13 mq.config.queue.logs=log.all

inforeceiver

1

/**2

@rabbitlistener bindings:繫結佇列

3@queuebinding value:繫結佇列的名稱

4exchange:配置交換器

5@queue value:配置佇列名稱

6autodelete:是否是乙個可刪除的臨時佇列

7@exchange value:為交換器起個名稱

8type:指定具體的交換器型別9*/

10@component

11@rabbitlistener(

12 bindings=@queuebinding(

13 value=@queue(

14 value="$",

15 autodelete="true"

16),

17 exchange=@exchange(

18 value="$",

19 type=exchangetypes.topic

20),

21 key="*.log.info"22)

23)24public

class

inforeceiver

29 }

logsreceiver

1

/**2

@rabbitlistener bindings:繫結佇列

3@queuebinding value:繫結佇列的名稱

4exchange:配置交換器

5@queue value:配置佇列名稱

6autodelete:是否是乙個可刪除的臨時佇列

7@exchange value:為交換器起個名稱

8type:指定具體的交換器型別9*/

10@component

11@rabbitlistener(

12 bindings=@queuebinding(

13 value=@queue(

14 value="$",

15 autodelete="true"

16),

17 exchange=@exchange(

18 value="$",

19 type=exchangetypes.topic

20),

21 key="*.log.*"22)

23)24public

class

logsreceiver

29 }

RabbitMQ入門 Topic模式

上篇 rabbitmq入門 routing直連模式 我們介紹了可以定向傳送訊息,並可以根據自定義規則派發訊息。看起來,這個routing模式已經算靈活的了,但是,這還不夠,我們還有更加多樣靈活的topic模式。這時候我們給program argument賦值如下,並啟動傳送端程式 程式執行完,可以在...

RabbitMq學習筆記(五) Topic

receivetopicone 匹配規則1 宣告交換器和佇列 channel.exchangedeclare exchange name,topic string queuename channel.queuedeclare getqueue 路由關鍵字規則 string routingkeys n...

RabbitMQ學習筆記(五) Topic

direct exchange幫助我們解決了分類發布與訂閱訊息的問題,但是direct exchange的問題是,它所使用的routingkey是乙個簡單字串,這決定了它只能按照乙個條件進行分類。比如rabbitmq學習筆記 四 routing中的列子,我們是按照新聞的型別分類的,分為game,sp...