聲明隊列和交換機 + 消息轉換器

目錄

1、聲明隊列和交換機

方法一:基于@Bean的方式聲明

方法二:基于Spring注解的方式聲明

2、消息轉換器


1、聲明隊列和交換機

方法一:基于@Bean的方式聲明

注:隊列和交換機的聲明是放在消費者這邊的,這位發送的人他并不需要去關注發送給那個隊列,但消費者這邊是需要隊列自己清楚應該監聽那個交換機,監聽那個類型的消息的~

上述的方式還是很繁瑣的

方法二:基于Spring注解的方式聲明

Direct模式:

@RabbitListener(bindings = @QueueBinding(value = @Queue(name = "direct.queue1"),exchange = @Exchange(name = "hmall.direct", type = ExchangeTypes.DIRECT),key = {"red", "blue"}
))
public void listenDirectQueue1(String msg){System.out.println("消費者1接收到direct.queue1的消息:【" + msg + "】");
}@RabbitListener(bindings = @QueueBinding(value = @Queue(name = "direct.queue2"),exchange = @Exchange(name = "hmall.direct", type = ExchangeTypes.DIRECT),key = {"red", "yellow"}
))
public void listenDirectQueue2(String msg){System.out.println("消費者2接收到direct.queue2的消息:【" + msg + "】");
}

Topic模式:

@RabbitListener(bindings = @QueueBinding(value = @Queue(name = "topic.queue1"),exchange = @Exchange(name = "hmall.topic", type = ExchangeTypes.TOPIC),key = "china.#"
))
public void listenTopicQueue1(String msg){System.out.println("消費者1接收到topic.queue1的消息:【" + msg + "】");
}@RabbitListener(bindings = @QueueBinding(value = @Queue(name = "topic.queue2"),exchange = @Exchange(name = "hmall.topic", type = ExchangeTypes.TOPIC),key = "#.news"
))
public void listenTopicQueue2(String msg){System.out.println("消費者2接收到topic.queue2的消息:【" + msg + "】");
}

2、消息轉換器

? ? ? ? Spring的消息發送,代碼接收的消息體是一個Object,在數據傳輸時,它會把你發送的消息序列化為字節發送給MQ,接收消息的時候,還會把字節反序列化為Java對象~

? ? ? ? 默認情況下,Spring采用的序列化方式是JDK序列化,而JDK序列化是存在諸多問題的,例如:

  • 數據體積過大
  • 有安全漏洞
  • 可讀性差

為了解決以上問題,我們可以使用JSON轉換器~

具體操作:

項目中引入依賴:

<dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-xml</artifactId><version>2.9.10</version>
</dependency>

配置消息轉換器:

在publisher和consumer服務的啟動類中添加即可:

@Bean
public MessageConverter messageConverter(){// 1.定義消息轉換器Jackson2JsonMessageConverter jackson2JsonMessageConverter = new Jackson2JsonMessageConverter();// 2.配置自動創建消息id,用于識別不同消息,也可以在業務中基于ID判斷是否是重復消息jackson2JsonMessageConverter.setCreateMessageIds(true);return jackson2JsonMessageConverter;
}

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

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

相關文章

Dynamic Web Module facet version問題

The default superclass, "javax.servlet.http.HttpServlet", according to the projects Dynamic Web Module facet version (3.1), was not found on the Java Build Path. 1.右鍵項目 2.點擊Properties 3.點擊Java Build Path&#xff0c;右邊找到Libraries&…

大模型在營銷領域的探索及創新

1 AIGA介紹 2 AIGA在營銷領域的 應用和探索 3 總結與展望

java 如何暴露header給前端

在Java中&#xff0c;將HTTP響應的Header暴露給前端通常涉及在Web應用程序的服務器端代碼中設置這些Header。這可以通過不同的Java Web框架來實現&#xff0c;比如Spring MVC、JAX-RS&#xff08;Jersey&#xff09;、Servlet等。這里&#xff0c;我將提供一個使用Spring MVC框…

學習筆記——交通安全分析13

目錄 前言 當天學習筆記整理 5城市主干道交通安全分析 結束語 前言 #隨著上一輪SPSS學習完成之后&#xff0c;本人又開始了新教材《交通安全分析》的學習 #整理過程不易&#xff0c;喜歡UP就點個免費的關注趴 #本期內容接上一期12筆記 當天學習筆記整理 5城市主干道交…

docker-compose Install gitlab 17.1.1

gitlab 前言 GitLab 是一個非常流行的開源 DevOps 平臺,用于軟件開發項目的整個生命周期管理。它提供了從版本控制、持續集成/持續部署(CI/CD)、項目規劃到監控和安全的一系列工具。 前提要求 Linux安裝 docker docker-compose 參考Windows 10 ,11 2022 docker docker-c…

多線程爬蟲技術詳解

&#x1f380;引言?? 在當今信息爆炸的時代&#xff0c;網絡爬蟲&#xff08;Web Crawler&#xff09;作為一種自動獲取網頁內容的程序&#xff0c;已經成為數據挖掘和信息檢索不可或缺的工具。多線程爬蟲作為提高爬蟲效率的重要手段&#xff0c;通過并行處理技術大幅度提升…

開發個人Go-ChatGPT--4 用戶管理

開發個人Go-ChatGPT–4 用戶管理 先看下我的目錄結構&#xff0c;可以根據個人愛好&#xff0c;進行重構 |-- Dockerfile |-- LICENSE |-- common | |-- callmodel | | |-- gemma.go | | -- models.go | |-- consts | | |-- code.go | | |-- common.go |…

k8s 部署RuoYi-Vue-Plus之nginx部署

1.掛載存儲 可參考 之前文章設置 https://blog.csdn.net/weimeibuqieryu/article/details/140183843 2.部署yaml 先創建命名空間ruoyi, 有就不用創建了 kubectl create namespace ruoyi我暫不需要使用xxjob和Monitor模塊, 所以去除了. 有需要再自行添加 需要先啟動后端服務…

(ECCV,2022)Mask-CLIP:從CLIP中提取自由密集標簽

文章目錄 Extract Free Dense Labels from CLIP相關資料摘要引言方法Mask-CLIPMask-CLIP 實驗 Extract Free Dense Labels from CLIP 相關資料 代碼&#xff1a;https://github.com/chongzhou96/MaskCLIP 論文&#xff1a;https://arxiv.org/abs/2112.01071 摘要 對比語言-…

SprongBoot及其基礎應用全套部署腳本和配置

POM.xml配置 </dependencies> <!--skywalking日志監控依賴--><dependency><groupId>org.apache.skywalking</groupId><artifactId>apm-toolkit-logback-1.x</artifactId><version>8.5.0</version></dependency&g…

修改編譯依賴openssl的libcrypto.so

由于centos7默認使用openssl1.0.2k的libcrypto.so.10共享庫。即使openssl升級為3.0.11后&#xff0c;編譯使用ldd命令查看共享庫依舊會引用libcrypto.so.10。 現希望引用libcrypto.so.3&#xff0c;需要在生成動態鏈接庫的CMakeLists.txt中增加如下配置&#xff0c;明確指定ope…

《警世賢文》摘抄:守法篇、惜時篇、修性篇、修身篇、待人篇、防人篇(建議多讀書、多看報、少吃零食多睡覺)

若該文為原創文章&#xff0c;轉載請注明原文出處 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/140243440 長沙紅胖子Qt&#xff08;長沙創微智科&#xff09;博文大全&#xff1a;開發技術集合&#xff08;包含Qt實用技術、樹莓派、三維、OpenCV…

mysql 連接出現 Public Key Retrieval is not allowed

在MySQL連接中出現“Public Key Retrieval is not allowed”錯誤&#xff0c;通常是因為在使用安全套接字層&#xff08;SSL&#xff09;連接時遇到了問題。這是因為MySQL 8.0及以上版本對安全性要求更高&#xff0c;特別是在使用密碼插件如caching_sha2_password時&#xff0c…

【周末閑談】AI“搶飯碗”?絕對不是危言聳聽

AI是在幫助開發者還是取代他們? 在軟件開發領域,生成式人工智能(AIGC)正在改變開發者的工作方式。無論是代碼生成、錯誤檢測還是自動化測試,AI工具正在成為開發者的得力助手。然而,這也引發了對開發者職業前景和技能需求變化的討論。AI究竟是在幫助開發者還是取代他們?…

2024組裝一臺能跑AI大模型的電腦

title: 2024組裝一臺能跑AI大模型的電腦 tags: [組裝電腦, AI大模型] categories: [其他, 電腦, windows] 這里不寫組裝步驟&#xff0c;哪里接線&#xff0c;購買什么品牌網上一大堆。 這里只寫如何根據你自己的需求&#xff0c;選擇合適的、兼容的配件。 概述 需求&#xff…

本地多卡(3090)部署通義千問Qwen2-72B大模型提速實踐:從龜速到夠用

最近在做文本風格轉化&#xff0c;涉及千萬token級別的文本。想用大模型轉寫&#xff0c;在線的模型一來涉及數據隱私&#xff0c;二來又不想先墊錢再找報銷。本地的7-9B小模型又感覺效果有限&#xff0c;正好實驗室給俺配了4卡3090的機子&#xff0c;反正也就是做個推理&#…

運維系列.Nginx配置中的高級指令和流程控制

運維專題 Nginx配置中的高級指令和流程控制 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/…

ssrf結合redis未授權getshell

目錄 漏洞介紹 SSRF Redis未授權 利用原理 環境搭建 利用過程 rockylinux cron計劃任務反彈shell 寫公鑰免密登錄 ubuntu 寫公鑰免密登錄 漏洞介紹 SSRF SSRF&#xff08;server side request forgrey&#xff09;服務端請求偽造&#xff0c;因后端未過濾用戶輸入&…

桂花網藍牙網關X1000:引領物聯網新時代的智能連接

在物聯網技術飛速發展的今天&#xff0c;藍牙網關作為連接藍牙設備與互聯網的關鍵設備&#xff0c;其性能與穩定性直接影響到物聯網系統的整體運行效果。桂花網藍牙網關X1000憑借其卓越的性能和廣泛的應用場景&#xff0c;成為了物聯網領域的佼佼者。 一、產品概述 桂花網藍牙…

【修仙小伙伴】第1章 天眼計劃

自古以來&#xff0c;人類對于地外文明的探索&#xff0c;就不曾停止過。 而在古代文獻《拾遺記》之中&#xff0c;就有「秦始皇」和所謂「宛渠之民」的對話記載&#xff1a; 始皇好神仙之事&#xff0c;有宛渠之民&#xff0c;乘螺舟而至。 舟形似螺&#xff0c;沉行海底&a…