在本章学习中,我们主要是和应用整合的。下面来看看本章我们主要内容:
整合spring AMQP和spring boot及spring cloud整合。以及在整合中需要注意及工作中踩过的坑。如同如下图:
本文主要内容:
使用代码创建rabbitAdmin,通过rabbitAdmin操作MQ
本文是《RabbitMQ精讲系列》教程中的第十八篇 高级应用整合的第一篇。如果对RabbitMQ感兴趣的朋友,可以从第一章开始。
RabbitMQ整合Spring AMQP实战
在Spring AMQP整合中,重要的组件:
RabbitAdmin类可以和好的操作RabbitMQ,在spring中直接进行注入即可:
注意:
autoStartup必须设置为ture,否则spring容器不会加载类.
为什么要获取RabbitAdmin?
RabitAdmin底层实现就是从spring容器中获取Exchange、Bingding、Routingkey以及Queue的@Bean声明。
使用RabbitTemplate的execute方法执行对应的声明、修改、删除等一系列的RabbitMQ基础功能操作。
代码演示:
添加pom文件:
<!-- rabbitmq-->
|
需要注意:
如果spring boot 是1.5.6版本的时候,rabbit的版本号可以使用3.6.5以上
如果spring boot的版本是2.1.x的时候,rabbit的版本号可以使用5.7.x
创建rabbitMQConfig:
1:先获取到ConnectionFactory.
注意:是amqp.rabbit下的。如下图:
创建ConnectionFactory:
2:获取rabbitAdmin的代码:
注意:setAutoStartUp必须设置为true
进行测试:
因为在RabbitMQConfig中我们已经将rabbitAdmin由spring容器管理了。所以在这里,我们直接使用autowired就可以。如下图:
我们先在页面管控台查看:
并没有。启动后,在查看,是否已经创建。
测试类启动成功:
在页面管控台查看,exchange交换机是否已经创建:
已经创建成功。说明,rabbitAdmin我们成功了。
通过rabbitAdmin创建Queue:
创建绑定关系:
启动后,查看test_spring_direct_queue是否绑定了test_spring_direct交换机。
我们发现绑定成功了。
绑定方式二:使用BindingBuilder的链式
rabbitAdmin.declareBinding(
|
需要注意的:当时fanout的时候,在bingdingBuilder的时候没有with.因为fanout的不需要routingkey。
本节总结:
使用spring的@Bean注解怎么创建connection工厂及怎么创建rabbitAdmin以及怎么使用。
下节预告:
我们知道在rabbitMQ的基础API中得到队列、binding以及路由是通过channel对象获取的,如下图。那么在springAMQP模式下怎么声明呢?在下节课中,我们将要讲解到的。
相关推荐
RabbitMQ是一个开源的消息队列系统,基于AMQP(Advanced Message Queuing Protocol)协议,广泛应用于分布式系统中,用于处理异步任务、解耦组件以及实现流量控制。在Spring Boot框架中整合RabbitMQ,可以简化开发...
### RabbitMQ消息中间件技术精讲 #### 一、RabbitMQ简介 RabbitMQ是一款在IT领域广泛应用的消息中间件,它基于AMQP(Advanced Message Queuing Protocol)协议开发而成,能够实现高效、可靠的数据传输服务。...
在这个“RabbitMQ实战视频”压缩包中,你将找到一系列关于RabbitMQ的实战教程,包括视频讲解、源代码示例以及相关的文档资料,帮助你深入理解和应用这个强大的工具。 1. **消息队列基础**:了解消息队列的基本概念...
RabbitMQ是一个开源的消息代理和队列服务器,广泛应用于各种业务场景,而Spring框架则是一个企业级应用开发的Java平台,提供了丰富的功能和良好的社区支持。将RabbitMQ与Spring整合,可以方便地在Spring应用中使用...
**RabbitMQ精讲视频教程概述** RabbitMQ是一款开源的消息代理和队列服务器,它基于先进的消息传递协议AMQP(Advanced Message Queuing Protocol),在分布式系统中广泛使用。本教程将深入讲解RabbitMQ的核心概念、...
【RabbitMQ系列教程1】 RabbitMQ是一个广泛使用的开源消息代理和队列服务器,它实现了高级消息队列协议(AMQP)。这个教程将引导我们深入理解RabbitMQ的核心概念和工作原理,以及如何与其他消息中间件进行比较。 1...
SpringBoot整合RabbitMQ的详细过程 **1.该篇博文首先讲述了交换机和队列之间的绑定关系** ①direct、②fanout、③topic **2.然后讲消息的回调** 四种情况下,确认触发哪个回调函数: ①消息推送到server,但是在...
SpringBoot整合RabbitMQ是一个常见的后端开发任务,它涉及到分布式消息传递和Java应用程序的集成。RabbitMQ是一个开源的消息代理和队列服务器,而SpringBoot是基于Spring框架的简化版,提供了快速构建应用程序的方式...
本文将详细介绍如何将这三者整合在一起,以构建一个高效、可扩展的应用系统。 首先,Spring Boot是Spring框架的轻量级实现,它旨在简化Spring应用程序的初始搭建以及开发过程。通过内置的Tomcat服务器和自动配置...
在这里,我们使用`convertAndSend`方法发送消息,第一个参数是交换机名称,第二个是路由键,第三个是消息内容。 最后,创建消息消费者。定义一个带有`@RabbitListener`注解的方法来监听特定队列: ```java @...
Springboot整合RabbitMQ最简单demo,适用于springcloud项目,作为消息总线适用,需要安装RabbitMQ,Mac linux可以使用命令行一键安装,在项目配置文件配置好端口即可(已默认配置),启动项目访问8080端口,参数见controller.
总的来说,本教程将引导你一步步地实现SpringBoot应用与RabbitMQ的整合,从配置RabbitMQ连接,到创建消息生产者和消费者,再到结合数据库操作,实现完整的业务流程。通过这个过程,你将深入理解SpringBoot的自动配置...
### RabbitMQ消息中间件技术精讲 #### 一、RabbitMQ简介 RabbitMQ是一款在IT领域广泛应用的消息中间件,它基于AMQP(Advanced Message Queuing Protocol)协议开发而成,能够实现高效、可靠的消息传输服务。...
"RabbitMQ整合SSM案例"是一个示例项目,展示了如何将消息队列系统RabbitMQ与Spring、SpringMVC和MyBatis这三大流行Java框架进行整合,同时利用Maven作为项目构建工具。以下是对这个案例涉及的知识点的详细解释: **...
在现代Web应用中,实时性需求日益增强,SSM整合WebSocket和RabbitMQ能实现高效的数据同步与异步消息处理。 WebSocket是一种在客户端和服务器之间建立长连接的协议,它允许双向通信,即服务器可以主动向客户端推送...
RabbitMQ 是一个基于 AMQP 协议的消息队列系统,广泛应用于企业级应用程序中。通过 Docker 安装 RabbitMQ,可以实现轻松快速的部署和管理。本文将指导您如何使用 Docker 安装 RabbitMQ,并整合 Spring Boot 实现消息...
RabbitMQ作为一款开源的消息代理和队列服务器,广泛应用于各种分布式系统中。本项目是关于如何将RabbitMQ与Spring、SpringMVC和Mybatis这三大流行框架进行整合,实现一套完整的数据增删改查功能。 首先,我们需要...
rabbitmq整合项目