




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第springboot整合RabbitMQ中的TTL實(shí)例代碼importorg.springframework.amqp.core.*;
importorg.springframework.beans.factory.annotation.Qualifier;
importorg.springframework.context.annotation.Bean;
importorg.springframework.context.annotation.Configuration;
importjava.util.HashMap;
*ttl隊(duì)列配置文件類
@Configuration
publicclassTtlQueueConfig{
//普通交換機(jī)名稱
publicstaticfinalStringX_EXCHANGE="X";
//死信交換機(jī)名稱
publicstaticfinalStringY_DEAD_LETTER_EXCHANGE="Y";
//普通隊(duì)列名稱
publicstaticfinalStringQUEUE_A="QA";
publicstaticfinalStringQUEUE_B="QB";
//死信隊(duì)列名稱
publicstaticfinalStringDEAD_LETTER_QUEUE_D="QD";
*聲明x交換機(jī)
*@return
@Bean("xExchange")//別名和方法名取一樣
publicDirectExchangexExchange(){
returnnewDirectExchange(X_EXCHANGE);
*聲明y交換機(jī)
*@return
@Bean("yExchange")//別名和方法名取一樣
publicDirectExchangeyExchange(){
returnnewDirectExchange(Y_DEAD_LETTER_EXCHANGE);
//聲明隊(duì)列A
@Bean("queueA")
publicQueuequeueA(){
finalHashMapString,Objectarguments
=newHashMap();
//設(shè)置死信交換機(jī)
arguments.put("x-dead-letter-exchange",Y_DEAD_LETTER_EXCHANGE);
//設(shè)置死信RoutingKey
arguments.put("x-dead-letter-routing-key","YD");
//設(shè)置TTL設(shè)置10秒過期
arguments.put("x-message-ttl",10000);
returnQueueBuilder.durable(QUEUE_A)
.withArguments(arguments)
.build();
//聲明隊(duì)列B
@Bean("queueB")
publicQueuequeueB(){
HashMapString,Objectarguments
=newHashMap();
//設(shè)置死信交換機(jī)
arguments.put("x-dead-letter-exchange",Y_DEAD_LETTER_EXCHANGE);
//設(shè)置死信RoutingKey
arguments.put("x-dead-letter-routing-key","YD");
//設(shè)置TTL設(shè)置40秒過期
arguments.put("x-message-ttl",40000);
returnQueueBuilder.durable(QUEUE_B)
.withArguments(arguments)
.build();
@Bean("queueD")
publicQueuequeueD(){
returnQueueBuilder.durable(DEAD_LETTER_QUEUE_D)
.build();
*A隊(duì)列綁定X交換機(jī)
*@paramqueueA
*@return
@Bean
publicBindingqueueABindingX(@Qualifier("queueA")QueuequeueA,
@Qualifier("xExchange")DirectExchangexExchange){
returnBindingBuilder.bind(queueA).to(xExchange).with("XA");
*B隊(duì)列綁定X交換機(jī)
*@paramqueueB
*@paramxExchange
*@return
@Bean
publicBindingqueueBBindingX(@Qualifier("queueB")QueuequeueB,
@Qualifier("xExchange")DirectExchangexExchange){
returnBindingBuilder.bind(queueB).to(xExchange).with("XB");
*D隊(duì)列綁定死信y交換機(jī)
*@paramqueueD
*@paramyExchange
*@return
@Bean
publicBindingqueueDBindingX(@Qualifier("queueD")QueuequeueD,
@Qualifier("yExchange")DirectExchangeyExchange){
returnBindingBuilder.bind(queueD).to(yExchange).with("YD");
}
生產(chǎn)者代碼
我們用Controller寫,通過網(wǎng)頁提交的方式生產(chǎn)消息
url:http://localhost:8080/ttl/sendMsg/message
packagecom.xbfinal.springbootrabbitmq.controller;
importlombok.extern.slf4j.Slf4j;
importorg.springframework.amqp.rabbit.core.RabbitTemplate;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.web.bind.annotation.GetMapping;
importorg.springframework.web.bind.annotation.PathVariable;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RestController;
importjava.util.Date;
*生產(chǎn)者
*發(fā)送延遲消息
@Slf4j
@RestController
@RequestMapping("/ttl")
publicclassSendMsgController{
@Autowired
privateRabbitTemplaterabbitTemplate;
@GetMapping("/sendMsg/{message}")
publicvoidsendMsg(@PathVariableStringmessage){
("當(dāng)前時(shí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空航天復(fù)合材料 課件知識點(diǎn)4 納米復(fù)合材料
- 農(nóng)電工基礎(chǔ)試題及答案
- 快樂工作總結(jié)匯報(bào)
- 中國電信業(yè)務(wù)培訓(xùn)
- 小班熊貓美術(shù)課件
- 安全事故范例培訓(xùn)
- 整容術(shù)前護(hù)理常規(guī)
- 毛球畫花卉課件
- 大出血的急救護(hù)理措施
- 主動脈瘤超聲表現(xiàn)
- 2025年北師大版數(shù)學(xué)六年級下冊教學(xué)計(jì)劃(含進(jìn)度表)
- 曹楊二中英語數(shù)學(xué)試卷
- 葫蘆絲社團(tuán)活動總結(jié)3篇
- 管理英語4-008-國開機(jī)考復(fù)習(xí)資料
- 固體廢棄物課程設(shè)計(jì) 垃圾填埋場設(shè)計(jì)
- 2024年冷庫安全管理制度(2篇)
- 【MOOC】CC++程序設(shè)計(jì)-同濟(jì)大學(xué) 中國大學(xué)慕課MOOC答案
- 餐飲休閑區(qū)設(shè)置方案
- 流產(chǎn)的中西醫(yī)結(jié)合治療
- 胰島素皮下注射標(biāo)準(zhǔn)解讀
- 大學(xué)生戀愛與性健康(中國性學(xué)會) 超星爾雅學(xué)習(xí)通章節(jié)測試答案
評論
0/150
提交評論