【rabbitMQ】Exchanges交換機

上一篇:springboot整合rabbitMQ模擬簡單收發消息

https://blog.csdn.net/m0_67930426/article/details/134904766

本篇代碼基于上一篇繼續寫

目錄

Fanout 交換機

1. add?queue

2. add Exchange

3.綁定隊列

Direct 交換機

1. add queue

?2. add Exchange

3.綁定隊列,并設置Routing key?

Topic 交換機

1.add queue

2.add Exchange

3.綁定隊列


Fanout 交換機

fanout exchange 會將接收到的消息廣播到每一個跟其綁定的queue

1. add?queue

2. add Exchange

3.綁定隊列

?

?消費者監聽隊列

 @RabbitListener(queues = "fanout.queue1")public void eee(String msg){System.out.println("消費者e收到了fanout.queue1的消息:【"+msg+"】");}@RabbitListener(queues = "fanout.queue2")public void fff(String msg){System.err.println("消費者f收到了fanout.queue2的消息:【"+msg+"】");}

?

?單元測試模擬業務發送消息

 @Testvoid Test3Send(){String ExchangeName = "aaa.fanout";String msg = "rabbitMQ<消息隊列>";rabbitTemplate.convertAndSend(ExchangeName,null, msg);}

?

Direct 交換機

Direct Exchange 會將接收的消息根據規則路由到指定的queue

1. add queue

?2. add Exchange

?

3.綁定隊列,并設置Routing key?

?

??消費者監聽隊列

 @RabbitListener(queues = "direct.queue1")public void ggg(String msg){System.out.println("消費者g收到了fanout.queue1的消息:【"+msg+"】");}@RabbitListener(queues = "direct.queue2")public void hhh(String msg){System.err.println("消費者h收到了fanout.queue2的消息:【"+msg+"】");}

?單元測試模擬業務發送消息

 @Testvoid Test3Send() {String ExchangeName = "bbb.direct";String msg = "rabbitMQ<消息隊列>";rabbitTemplate.convertAndSend(ExchangeName,"red" , msg);}

Routing key:? " red "

預期結果是,兩個消費者都收到了消息

?

將Routing key 的值改為blue?

?

預期結果,只有消費者g接收到了消息

?

Topic 交換機

1.add queue

2.add Exchange

3.綁定隊列

?

?

消費者監聽隊列?

 @RabbitListener(queues = "topic.queue1")public void jjj(String msg){System.out.println("消費者j收到了fanout.queue1的消息:【"+msg+"】");}@RabbitListener(queues = "topic.queue2")public void kkk(String msg){System.err.println("消費者k收到了fanout.queue2的消息:【"+msg+"】");}

?單元測試模擬業務發送消息

@Testvoid Test3Send() {String ExchangeName = "ccc.topic";String msg = "rabbitMQ";rabbitTemplate.convertAndSend(ExchangeName,"zhejiang.new" , msg);}

Routing key : " zhejiang.new "?

預期結果是k收到消息

?

Routing? key: " china.new "

預期結果,兩個消費者都接收到了消息

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/214652.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/214652.shtml
英文地址,請注明出處:http://en.pswp.cn/news/214652.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

011 數據結構_哈希

前言 本文將會向你介紹哈希概念&#xff0c;哈希方法&#xff0c;如何解決哈希沖突&#xff0c;以及閉散列與開散列的模擬實現 1. 哈希概念 順序結構以及平衡樹中&#xff0c;元素關鍵碼與其存儲位置之間沒有對應的關系&#xff0c;因此在查找一個元素時&#xff0c;必須要經…

CyclicBarrier、CountDownLatch、Semaphore 的用法

CyclicBarrier、CountDownLatch、Semaphore 的用法 CountDownLatch&#xff08;線程計數器 &#xff09; CountDownLatch 類位于 java.util.concurrent 包下&#xff0c;利用它可以實現類似計數器的功能。比如有一個任務 A&#xff0c;它要等待其他 4 個任務執行完畢之后才能執…

數據結構與算法-Rust 版讀書筆記-2線性數據結構-隊列

數據結構與算法-Rust 版讀書筆記-2線性數據結構-隊列 1、隊列&#xff1a;先進先出 隊列是項的有序集合&#xff0c;其中&#xff0c;添加新項的一端稱為隊尾&#xff0c;移除項的另一端稱為隊首。一個元素在從隊尾進入隊列后&#xff0c;就會一直向隊首移動&#xff0c;直到…

鴻蒙原生應用再添新丁!同花順入局鴻蒙

鴻蒙原生應用再添新丁&#xff01;同花順入局鴻蒙 來自 HarmonyOS 微博12月11日消息&#xff0c;同花順已完成#鴻蒙原生應用#beta版本&#xff0c;并正在進行全量版本開發&#xff0c;進一步豐富了#鴻蒙原生應用#的覆蓋領域。同花順作為股民和券商首選的一站式金融理財服務平臺…

擴展學習|商業智能和分析:從大數據到大影響

文獻來源&#xff1a;Chen H, Chiang R H L, Storey V C. Business intelligence and analytics: From big data to big impact[J]. MIS quarterly, 2012: 1165-1188. 下載鏈接&#xff1a;https://pan.baidu.com/s/1JoHcTbwdc1TPGnwXsL4kIA 提取碼&#xff1a;a8uy 在不同的組…

MySQL忘記密碼

根據提供的引用內容&#xff0c;當使用root用戶登錄MySQL時&#xff0c;如果密碼錯誤&#xff0c;會出現"Access denied for user ‘root’‘localhost’ (using password: NO)"的錯誤提示。這個錯誤提示表示使用了錯誤的密碼或者沒有輸入密碼就嘗試登錄MySQL。解決這…

SQL命令---查看數據庫表

介紹 使用sql命令查看數據表。 命令 show create table 表名\G;\G&#xff1a;使顯示結果整齊美觀。

Vue-第七天

智慧商城項目&#xff1a; 1.創建項目選項&#xff1a; 2.調整&#xff1a; 主要是增加兩個文件夾&#xff0c;刪除倒是沒什么 3.組件庫&#xff08;vant-ui&#xff09;&#xff1a; 點擊進入官網:Vant 2 - Mobile UI Components built on Vue 4.導入&#xff1a; 全部導入…

MES系統需要具備哪些性能方面的需求?

MES系統需要具備哪些“性能需求”&#xff1f;關于這個問題&#xff0c;我覺得有必要先和大家解釋一下&#xff0c;到底什么是性能需求&#xff1f;性能需求在MES系統的作用是什么&#xff1f;講明白了這2點&#xff0c;問題自然而然就解決了。 什么是性能需求&#xff1f; 通…

選擇最適合您的數據集成工具

個人 對于個人而言&#xff0c;選擇最適合的數據集成工具可能會有一些不同的考量因素。以下是一些個人選擇數據集成工具時可能需要考慮的因素&#xff1a; 技術水平和經驗&#xff1a; 如果個人具有較深的技術水平和經驗&#xff0c;可能更傾向于選擇功能豐富、靈活性強的數據…

自編碼器 AutoEncoder

自編碼器&#xff08;AutoEncoder&#xff09;&#xff0c;也稱自編碼模型&#xff0c;是一種基于無監督學習的數據維度壓縮和特征表示方法&#xff0c;目的是對一組數據學習出一種表示。1986年 Rumelhart 提出自編碼模型用于高維復雜數據的降維。由于自動編碼器通常應用于無監…

《PySpark大數據分析實戰》-02.了解Hadoop

&#x1f4cb; 博主簡介 &#x1f496; 作者簡介&#xff1a;大家好&#xff0c;我是wux_labs。&#x1f61c; 熱衷于各種主流技術&#xff0c;熱愛數據科學、機器學習、云計算、人工智能。 通過了TiDB數據庫專員&#xff08;PCTA&#xff09;、TiDB數據庫專家&#xff08;PCTP…

Leetcode 2962. Count Subarrays Where Max Element Appears at Least K Times

Leetcode 2962. Count Subarrays Where Max Element Appears at Least K Times 1. 解題思路2. 代碼實現 題目鏈接&#xff1a;2962. Count Subarrays Where Max Element Appears at Least K Times 1. 解題思路 這一題思路上同樣很直接&#xff0c;就是找到最大的元素所在的全…

云降水物理基礎

云降水物理基礎 云的分類 相對濕度變化方程 由相對濕度的定義&#xff0c;兩邊取對數之后可以推出 聯立克勞修斯-克拉佩龍方程&#xff08;L和R都為常數&#xff09; 由右式看出&#xff0c;增加相對濕度的方式&#xff1a;增加水汽&#xff08;de增大&#xff09;和降低…

開源好用EasyImages簡單圖床源碼

源碼介紹 開源好用EasyImages簡單圖床源碼分享&#xff0c;雖然它是開源程序&#xff0c;但功能一點也不弱&#xff0c;不僅支持多文件上傳、文字/圖片水印、支持API和鑒黃、還能自定義代碼&#xff0c;最重要的是它不強制使用數據庫運行&#xff0c;這就給我們的部署和維護帶…

人工智能的技術演進與未來趨勢

人工智能的技術演進與未來趨勢 一、引言 人工智能&#xff08;AI&#xff09;已經成為當今科技領域的熱門話題&#xff0c;其在各個行業的應用越來越廣泛。從智能語音助手到自動駕駛汽車&#xff0c;從智能家居系統到醫療診斷&#xff0c;AI技術已經深入到我們的日常生活。在…

OpenVINS學習2——VIRAL數據集eee01.bag運行

前言 周末休息了兩天&#xff0c;接著做上周五那個VIRAL數據集沒有運行成功的工作。現在的最新OpenVINS需要重新寫配置文件&#xff0c;不像之前那樣都寫在launch里&#xff0c;因此需要根據數據集情況配置好estimator_config.yaml還有兩個標定參數文件。 VIRAL數據集 VIRAL…

WooCommerce商城個人微信支付網關 適合個人微信收款

點擊獲取WooCommerce商城個人微信支付網關 適合個人微信收款原文https://gplwp.eastfu.com/product/woocommerce-ge-ren-wei-xin-zhi-fu-wang-guan-shi-he-ge-ren/ 個人微信支付網關接口&#xff0c;無需提現&#xff0c;100%資金安全&#xff0c;官方清算&#xff0c;金額無限…

壓力測試過程中出現線程死鎖情況如何解決

確認問題是線程死鎖的方法有以下幾種&#xff1a; 1. 分析日志&#xff1a;查看應用程序的日志&#xff0c;如果發現有線程死鎖的日志信息&#xff0c;可以確認問題是線程死鎖。 2. 使用線程分析工具&#xff1a;可以使用線程分析工具&#xff0c;例如Java的jstack工具&#xf…

axios的使用

Axios 是一個基于 promise 的 HTTP 庫&#xff0c;可以用在瀏覽器和 node.js 中。 如果您想在瀏覽器中使用 Axios&#xff0c;首先需要安裝它。您可以使用 npm&#xff08;Node 包管理器&#xff09;或 yarn 來安裝 Axios。例如&#xff0c;在命令行中輸入以下命令&#xff1a…