亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-07-07 10:31:26 來源:網絡 閱讀:419 作者:凱哥Java 欄目:編程語言

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

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

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

本文主要內容:

使用代碼創建rabbitAdmin,通過rabbitAdmin操作MQ

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

RabbitMQ整合Spring AMQP實戰

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

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

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

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

注意:

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

為什么要獲取RabbitAdmin?

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

使用RabbitTemplate的execute方法執行對應的聲明、修改、刪除等一系列的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

創建rabbitMQConfig:

1:先獲取到ConnectionFactory.

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

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

創建ConnectionFactory:

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

2:獲取rabbitAdmin的代碼:

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

注意:setAutoStartUp必須設置為true

進行測試:

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

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

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

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

并沒有。啟動后,在查看,是否已經創建。

測試類啟動成功:

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

在頁面管控臺查看,exchange交換機是否已經創建:

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

已經創建成功。說明,rabbitAdmin我們成功了。

通過rabbitAdmin創建Queue:

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

創建綁定關系:

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

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

rabbitMQ精講系列第十八篇 高級整合應用第一篇我們發現綁定成功了。

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

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


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

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

本節總結:

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

下節預告:

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

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

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



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绥棱县| 正安县| 黄梅县| 静宁县| 莲花县| 静安区| 个旧市| 新安县| 任丘市| 洛阳市| 渭源县| 宝应县| 东安县| 元江| 赤峰市| 平远县| 紫阳县| 古交市| 固始县| 祁东县| 全州县| 寿光市| 托里县| 平昌县| 修文县| 利津县| 鞍山市| 逊克县| 灵寿县| 高平市| 中西区| 绥宁县| 海城市| 盐津县| 昌邑市| 阜新| 岳池县| 阳曲县| 湛江市| 抚顺市| 佛山市|