rabbitMQ精講系列第十八篇高級整合應用第一篇

在本章學習中,我們主要是和應用整合的。下面來看看本章我們主要內容:

公司主營業(yè)務:網(wǎng)站制作、成都網(wǎng)站建設、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出肥西免費做網(wǎng)站回饋大家。

整合spring AMQP和spring boot及spring cloud整合。以及在整合中需要注意及工作中踩過的坑。如同如下圖:

rabbitMQ精講系列第十八篇 高級整合應用第一篇

本文主要內容:

使用代碼創(chuàng)建rabbitAdmin,通過rabbitAdmin操作MQ

本文是《RabbitMQ精講系列》教程中的第十八篇 高級應用整合的第一篇。如果對RabbitMQ感興趣的朋友,可以從第一章開始。

RabbitMQ整合Spring AMQP實戰(zhàn)

在Spring AMQP整合中,重要的組件:

rabbitMQ精講系列第十八篇 高級整合應用第一篇

RabbitAdmin類可以和好的操作RabbitMQ,在spring中直接進行注入即可:

rabbitMQ精講系列第十八篇 高級整合應用第一篇

注意:

autoStartup必須設置為ture,否則spring容器不會加載類.

為什么要獲取RabbitAdmin?

????RabitAdmin底層實現(xiàn)就是從spring容器中獲取Exchange、Bingding、Routingkey以及Queue的@Bean聲明。

使用RabbitTemplate的execute方法執(zhí)行對應的聲明、修改、刪除等一系列的RabbitMQ基礎功能操作。

代碼演示:

添加pom文件:

<!-- rabbitmq-->
<dependency>
??<groupId>com.rabbitmq</groupId>
??<artifactId>amqp-client</artifactId>
??<version>3.6.5</version>
</dependency>
<!-- spring?啟動-->
<dependency>
??<groupId>org.springframework.boot</groupId>
??<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

rabbitMQ精講系列第十八篇 高級整合應用第一篇

需要注意:

如果spring boot 是1.5.6版本的時候,rabbit的版本號可以使用3.6.5以上

如果spring boot的版本是2.1.x的時候,rabbit的版本號可以使用5.7.x

創(chuàng)建rabbitMQConfig:

1:先獲取到ConnectionFactory.

注意:是amqp.rabbit下的。如下圖:

rabbitMQ精講系列第十八篇 高級整合應用第一篇

創(chuàng)建ConnectionFactory:

rabbitMQ精講系列第十八篇 高級整合應用第一篇

2:獲取rabbitAdmin的代碼:

rabbitMQ精講系列第十八篇 高級整合應用第一篇

注意:setAutoStartUp必須設置為true

進行測試:

因為在RabbitMQConfig中我們已經(jīng)將rabbitAdmin由spring容器管理了。所以在這里,我們直接使用autowired就可以。如下圖:

rabbitMQ精講系列第十八篇 高級整合應用第一篇

我們先在頁面管控臺查看:

rabbitMQ精講系列第十八篇 高級整合應用第一篇

并沒有。啟動后,在查看,是否已經(jīng)創(chuàng)建。

測試類啟動成功:

rabbitMQ精講系列第十八篇 高級整合應用第一篇

在頁面管控臺查看,exchange交換機是否已經(jīng)創(chuàng)建:

rabbitMQ精講系列第十八篇 高級整合應用第一篇

已經(jīng)創(chuàng)建成功。說明,rabbitAdmin我們成功了。

通過rabbitAdmin創(chuàng)建Queue:

rabbitMQ精講系列第十八篇 高級整合應用第一篇

創(chuàng)建綁定關系:

rabbitMQ精講系列第十八篇 高級整合應用第一篇

啟動后,查看test_spring_direct_queue是否綁定了test_spring_direct交換機。

rabbitMQ精講系列第十八篇 高級整合應用第一篇我們發(fā)現(xiàn)綁定成功了。

綁定方式二:使用BindingBuilder的鏈式

rabbitAdmin.declareBinding(
? ? ?BindingBuilder.bind(new?Queue("test_spring_topic_queue",false)) ? ?//創(chuàng)建隊列
? ? ?.to(new?TopicExchange("test_spring_topic",false,false)) ? ?//綁定交換機
? ? ?.with("user.#") ? ?//設置routingkey
);

rabbitMQ精講系列第十八篇 高級整合應用第一篇

需要注意的:當時fanout的時候,在bingdingBuilder的時候沒有with.因為fanout的不需要routingkey。

本節(jié)總結:

????使用spring的@Bean注解怎么創(chuàng)建connection工廠及怎么創(chuàng)建rabbitAdmin以及怎么使用。

下節(jié)預告:

????我們知道在rabbitMQ的基礎API中得到隊列、binding以及路由是通過channel對象獲取的,如下圖。那么在springAMQP模式下怎么聲明呢?在下節(jié)課中,我們將要講解到的。

本文出自凱哥Java(kaigejava) 個人博客(www.kaigejava.com)

rabbitMQ精講系列第十八篇 高級整合應用第一篇

本文名稱:rabbitMQ精講系列第十八篇高級整合應用第一篇
本文地址:http://bm7419.com/article10/pcopgo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站收錄、全網(wǎng)營銷推廣、建站公司響應式網(wǎng)站、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化