RabbitMQ:SpringAMQP Direct Exchange(直連型交換機)

目錄

  • 一、案例需求
  • 二、基礎配置
  • 三、代碼實現


直連型交換機也叫做定向交換機,通過RoutingKey綁定交換機與隊列直接的關系。

生產者源碼
消費者源碼

一、案例需求

  1. 在RabbitMQ控制臺中,聲明隊列direct.queue1direct.queue2
  2. 在RabbitMQ控制臺中,聲明交換機mt.direct,將隊列direct.queue1direct.queue2綁定到交換機上。
  3. 在生產者服務中,利用不同的RoutingKeymt.direct發送消息。
  4. 在消費者服務中,編寫兩個消費者方法,分別監聽隊列direct.queue1direct.queue2

在這里插入圖片描述

二、基礎配置

首先創建兩個隊列direct.queue1direct.queue2
在這里插入圖片描述
在創建一個定向交換機mt.direct,需要注意的是,在創建交換機的時候需要修改交換機的類型direct定向交換機。
在這里插入圖片描述
交換機創建之后,點擊交換機的名稱,綁定交換機與隊列之間的關系。這里需要注意的是,綁定關系的時候需要指定RoutingKey,并且RoutingKey有且只能填寫一個,如果有多個的時候需要再綁定依次
在這里插入圖片描述

三、代碼實現

生產者

/**
* 給交換機發送消息(定向交換機)
* @throws InterruptedException
*/
@Test
public void directExchangeTest() throws InterruptedException {String exchangeName = "mt.direct";//        String message = "紅色警報 ......";
//        rabbitTemplate.convertAndSend(exchangeName, "red", message);//        String message = "藍色警報 ......";
//        rabbitTemplate.convertAndSend(exchangeName, "blue", message);String message = "黃色警報 ......";rabbitTemplate.convertAndSend(exchangeName, "yellow", message);
}

消費者

@RabbitListener(queues = "direct.queue1")
public void listenDirecttQueue1(String message) throws InterruptedException {System.out.println(String.format("消費者1,收到了direct.queue1: %s", message));
}@RabbitListener(queues = "direct.queue2")
public void listenDirecttQueue2(String message) throws InterruptedException {System.err.println(String.format("消費者2,收到了direct.queue2: %s", message));
}

在這里插入圖片描述

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

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

相關文章

implement libtime on Windows

因為Windows的time命令和Linux的time命令不一樣&#xff0c;嘗試實現libtime libtime.h /** libtime.h - 跨平臺時間測量庫* 功能&#xff1a;執行外部命令并測量其運行時間和資源使用*/#ifndef LIBTIME_H #define LIBTIME_H#include <stdio.h> #include <stdlib.h>…

Unity進階--C#補充知識點--【C#各版本的新功能新語法】C#1~4與C#5

來源于唐老獅的視頻教學&#xff0c;僅作記錄和感悟記錄&#xff0c;方便日后復習或者查找 一.C#版本與Unity的關系 1.各Unity版本支持的C#版本 更多信息可以在Untiy官網說明查看 https://docs.unity3d.com/2020.3/Documentation/Manual/CSharpCompiler.html&#xff08;這個好…

水閘安全綜合監測系統解決方案

一、方案概述 水閘作為重要的水利工程設施&#xff0c;承擔著防洪、排澇、供水和灌溉等關鍵功能。其安全性直接關系到下游人民群眾的生命財產安全以及區域經濟的穩定發展。近年來&#xff0c;隨著極端天氣頻發和工程老化問題日益突出&#xff0c;水閘安全監測工作顯得尤為重要。…

基于單片機智能點滴輸液系統

傳送門 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品題目速選一覽表 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品題目功能速覽 概述 該系統基于單片機控制技術&#xff0c;結合傳感器和無線通信模塊&#xff0c;實現對輸液過程的實…

AI數據倉庫管理提升效率

內容概要在數字化轉型浪潮中&#xff0c;AI數據倉庫管理正重塑企業數據處理格局。本部分簡要介紹其核心機制&#xff0c;即通過智能API接入外部數據源實現多平臺數據無縫整合&#xff0c;隨后應用數據清洗技術去除冗余信息&#xff0c;確保數據質量。同時&#xff0c;加密存儲機…

使用 Docker 安裝長安鏈管理平臺 + 部署區塊鏈與示例合約

文章目錄簡介登錄官網GithubPodman 配置&#xff08;Docker 配置 registry 地址&#xff09;安裝長安鏈管理平臺下載源碼docker-compose.yml登錄管理平臺部署區塊鏈Dockerfile構建鏡像部署長安鏈訂閱區塊鏈部署合約下載示例合約部署示例合約投票管理文件哈希存證查找存證信息區…

Python訓練營打卡 DAY 41 簡單CNN

知識回顧 數據增強卷積神經網絡定義的寫法batch歸一化&#xff1a;調整一個批次的分布&#xff0c;常用與圖像數據特征圖&#xff1a;只有卷積操作輸出的才叫特征圖調度器&#xff1a;直接修改基礎學習率 卷積操作常見流程如下&#xff1a; 1. 輸入 → 卷積層 → Batch歸一化層…

云端賦能,智慧運維:分布式光伏電站一體化監控平臺研究

摘要 本文針對分布式光伏電站存在的監管困難、火災隱患、系統繁雜及運維不規范等行業痛點&#xff0c;提出AcrelCloud-1200光伏運維云平臺解決方案。平臺通過ANet-1E2S-4G網關集成多品牌逆變器數據&#xff0c;結合視頻監控與氣象站&#xff0c;實現電站全域監測&#xff1b;開…

CVPR 2025 | 具身智能 | HOLODECK:一句話召喚3D世界,智能體的“元宇宙練功房”來了

關注gongzhonghao【CVPR頂會精選】1.導讀1.1 論文基本信息論文標題&#xff1a;《HOLODECK: Language Guided Generation of 3D Embodied AI Environments》作者&#xff1a;Yue Yang*1, Fan-Yun Sun*2, Luca Weihs*4, Eli Vanderbilt4, Alvaro Herrasti4,Winson Han4, Jiajun …

迅為RK3568開發板搭建Ubuntu環境

本小節介紹開發所需 Ubuntu 環境的搭建方法。系統要求:Ubuntu 系統要求&#xff1a;Ubuntu18.04~21.10 版本。推薦使用 20.04 版本&#xff0c;內存 16GB 及以上&#xff0c;硬盤 100GB 及以上。Ubuntu 系統的用戶名不能包含中文字符。建議 Ubuntu 和 Windows 系統上安裝的 Dev…

【數據結構】用堆解決TOPK問題

設計一個算法&#xff0c;找出數組中最小的k個數。以任意順序返回這k個數均可。示例&#xff1a;輸入&#xff1a; arr [1,3,5,7,2,4,6,8], k 4 輸出&#xff1a; [1,2,3,4]比較替換堆頂的數時&#xff0c;不需要讓堆頂與數組的每一個數再進行比較&#xff0c;比較數組減去k個…

【深度長文】Anthropic發布Prompt Engineering全新指南

目錄 1.什么時候適合用提示工程? 2.如何進行提示工程 2.1 使用提示模板 2.1.1 使用提示模板和變量 2.1.2 何時使用提示模板和變量 2.1.3 提示模板示例 2.2 保持清晰和直接 2.2.1 如何保持清晰、具有上下文和具體 2.2.2 示例 ?2.3 使用示例&#xff08;多示例提示…

【基礎-判斷】HarmonyOS提供了基礎的應用加固安全能力,包括混淆、加密和代碼簽名能力

正確 解釋如下: 應用加固: 這是指對應用程序進行保護,使其更難被逆向工程、篡改或盜版。HarmonyOS 作為現代操作系統,確實提供了這樣的基礎安全能力。 混淆: HarmonyOS 的 SDK 提供了代碼混淆工具(通常基于 ProGuard 或類似技術)。開發者在構建應用時啟用混淆,可以將類…

HTML 框架:構建網頁布局的基石

HTML 框架&#xff1a;構建網頁布局的基石 引言 HTML 框架是網頁設計中不可或缺的一部分&#xff0c;它為網頁內容的布局提供了強大的支持。本文將深入探討 HTML 框架的概念、種類、應用以及如何有效地使用它們來構建網頁布局。 什么是 HTML 框架&#xff1f; HTML 框架是一種網…

[Linux]學習筆記系列 -- [mm][memblock]

文章目錄mm/memblock.c: Linux內核的“拓荒時代”內存管理器一、 核心問題&#xff1a;為什么需要 memblock&#xff1f;二、 核心原理與設計三、 在內核啟動流程中的角色四、 關鍵 API五、 總結include/linux/memblock.hmm/memblock.cmemblock_reserve 預留內存塊for_each_mem…

Java 面試八股文匯總(1000 道附答案解析)

在過 2 個月即將進入金九銀十了&#xff0c;然而面對今年的大環境而言&#xff0c;跳槽成功的難度比往年高了很多&#xff0c;很明顯的感受就是&#xff1a;對于今年的 java 開發朋友跳槽面試&#xff0c;無論一面還是二面&#xff0c;都開始考驗一個 Java 程序員的技術功底和基…

給純小白的Python操作 PDF 筆記

一、文件基礎打開與關閉 推薦用 with open(path, mode, encodingutf-8) as f:&#xff0c;自動完成 close()&#xff0c;避免泄露文件句柄。常見模式&#xff1a;r 讀&#xff0c;w 寫覆蓋&#xff0c;a 追加&#xff0c;rb/wb 二進制。Windows 默認編碼為 GBK&#xff0c;Linu…

vue使用vue-cropper實現圖片裁剪之單圖裁剪

vue制作的pc系統中(如若依系統)&#xff0c;需要實現按照固定尺寸進行裁剪后再進行圖片上傳&#xff0c;以下代碼講述的是實現單張圖片裁剪上傳。1.第一步需要安裝vue-croppernpm install vue-cropper2.第二步在需要的頁面進入代碼引入import {VueCropper} from "vue-crop…

后臺管理系統-5-vue3之子路由渲染首頁及卡片容器和表格容器實現

文章目錄 1 子路由的實現 1.1 router/index.js 1.2 views/Home.vue(首頁) 1.3 Main.vue 2 左上方的卡片 2.1 分欄間隔(Layout布局) 2.2 卡片容器(el-card) 2.3 整體代碼Home.vue 3 左下方的table(靜態實現) 3.1 準備數據 3.2 渲染表格(el-table) 3.3 整體代碼Home.vue 4 附錄 子…

在CentOS系統中查詢已刪除但仍占用磁盤空間的文件

在CentOS系統中查詢已刪除但仍占用磁盤空間的文件在CentOS系統中查詢已刪除但仍占用磁盤空間的文件1. 檢查磁盤整體使用情況2. 查找被刪除但仍被進程占用的文件3. 釋放磁盤空間4. 替代方案&#xff08;不終止進程&#xff09;注意事項補充工具在CentOS系統中查詢已刪除但仍占用…