`

rabbitMQ精讲系列第十八篇 高级整合应用第一篇

 
阅读更多

在本章学习中,我们主要是和应用整合的。下面来看看本章我们主要内容:

整合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-->
<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>

 

需要注意:

如果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(
     BindingBuilder.bind(new Queue("test_spring_topic_queue",false))    //创建队列
     .to(new TopicExchange("test_spring_topic",false,false))    //绑定交换机
     .with("user.#")    //设置routingkey
);

 

需要注意的:当时fanout的时候,在bingdingBuilder的时候没有with.因为fanout的不需要routingkey。

本节总结:

    使用spring的@Bean注解怎么创建connection工厂及怎么创建rabbitAdmin以及怎么使用。

下节预告:

    我们知道在rabbitMQ的基础API中得到队列、binding以及路由是通过channel对象获取的,如下图。那么在springAMQP模式下怎么声明呢?在下节课中,我们将要讲解到的。

 

分享到:
评论

相关推荐

    RabbitMq整合使用

    RabbitMQ是一个开源的消息队列系统,基于AMQP(Advanced Message Queuing Protocol)协议,广泛应用于分布式系统中,用于处理异步任务、解耦组件以及实现流量控制。在Spring Boot框架中整合RabbitMQ,可以简化开发...

    RabbitMQ消息中间件技术精讲

    ### RabbitMQ消息中间件技术精讲 #### 一、RabbitMQ简介 RabbitMQ是一款在IT领域广泛应用的消息中间件,它基于AMQP(Advanced Message Queuing Protocol)协议开发而成,能够实现高效、可靠的数据传输服务。...

    RabbitMQ实战视频.zip

    在这个“RabbitMQ实战视频”压缩包中,你将找到一系列关于RabbitMQ的实战教程,包括视频讲解、源代码示例以及相关的文档资料,帮助你深入理解和应用这个强大的工具。 1. **消息队列基础**:了解消息队列的基本概念...

    RabbitMq与Spring整合实例

    RabbitMQ是一个开源的消息代理和队列服务器,广泛应用于各种业务场景,而Spring框架则是一个企业级应用开发的Java平台,提供了丰富的功能和良好的社区支持。将RabbitMQ与Spring整合,可以方便地在Spring应用中使用...

    RabbitMQ精讲(高清视频教程).rar

    **RabbitMQ精讲视频教程概述** RabbitMQ是一款开源的消息代理和队列服务器,它基于先进的消息传递协议AMQP(Advanced Message Queuing Protocol),在分布式系统中广泛使用。本教程将深入讲解RabbitMQ的核心概念、...

    RabbitMQ系列教程1

    【RabbitMQ系列教程1】 RabbitMQ是一个广泛使用的开源消息代理和队列服务器,它实现了高级消息队列协议(AMQP)。这个教程将引导我们深入理解RabbitMQ的核心概念和工作原理,以及如何与其他消息中间件进行比较。 1...

    SpringBoot整合RabbitMQ.zip

    SpringBoot整合RabbitMQ的详细过程 **1.该篇博文首先讲述了交换机和队列之间的绑定关系** ①direct、②fanout、③topic **2.然后讲消息的回调** 四种情况下,确认触发哪个回调函数: ①消息推送到server,但是在...

    springBoot整合RabbitMQ案例

    SpringBoot整合RabbitMQ是一个常见的后端开发任务,它涉及到分布式消息传递和Java应用程序的集成。RabbitMQ是一个开源的消息代理和队列服务器,而SpringBoot是基于Spring框架的简化版,提供了快速构建应用程序的方式...

    SpringBoot+redis+RabbitMq整合实例

    本文将详细介绍如何将这三者整合在一起,以构建一个高效、可扩展的应用系统。 首先,Spring Boot是Spring框架的轻量级实现,它旨在简化Spring应用程序的初始搭建以及开发过程。通过内置的Tomcat服务器和自动配置...

    spring整合rabbitmq的实例

    在这里,我们使用`convertAndSend`方法发送消息,第一个参数是交换机名称,第二个是路由键,第三个是消息内容。 最后,创建消息消费者。定义一个带有`@RabbitListener`注解的方法来监听特定队列: ```java @...

    Springboot整合RabbitMQ最简单demo

    Springboot整合RabbitMQ最简单demo,适用于springcloud项目,作为消息总线适用,需要安装RabbitMQ,Mac linux可以使用命令行一键安装,在项目配置文件配置好端口即可(已默认配置),启动项目访问8080端口,参数见controller.

    1 SpringBoot整合RabbitMQ-整合配置篇-源码数据库

    总的来说,本教程将引导你一步步地实现SpringBoot应用与RabbitMQ的整合,从配置RabbitMQ连接,到创建消息生产者和消费者,再到结合数据库操作,实现完整的业务流程。通过这个过程,你将深入理解SpringBoot的自动配置...

    RabbitMQ消息中间件技术精讲.txt

    ### RabbitMQ消息中间件技术精讲 #### 一、RabbitMQ简介 RabbitMQ是一款在IT领域广泛应用的消息中间件,它基于AMQP(Advanced Message Queuing Protocol)协议开发而成,能够实现高效、可靠的消息传输服务。...

    RabbitMQ与SpringMVC集成

    1. 引入依赖:在项目中添加RabbitMQ的Spring整合依赖,如`spring-amqp`库。 2. 配置RabbitMQ:在Spring的配置文件中,定义连接工厂、信道配置以及RabbitMQ服务器的相关属性。 3. 创建消息模板:使用`RabbitTemplate`...

    RabbitMq整合SSM案例

    "RabbitMQ整合SSM案例"是一个示例项目,展示了如何将消息队列系统RabbitMQ与Spring、SpringMVC和MyBatis这三大流行Java框架进行整合,同时利用Maven作为项目构建工具。以下是对这个案例涉及的知识点的详细解释: **...

    ssm整合webSocket、rabbitMq

    在现代Web应用中,实时性需求日益增强,SSM整合WebSocket和RabbitMQ能实现高效的数据同步与异步消息处理。 WebSocket是一种在客户端和服务器之间建立长连接的协议,它允许双向通信,即服务器可以主动向客户端推送...

    docker安装rabbitmq并整合springboot

    RabbitMQ 是一个基于 AMQP 协议的消息队列系统,广泛应用于企业级应用程序中。通过 Docker 安装 RabbitMQ,可以实现轻松快速的部署和管理。本文将指导您如何使用 Docker 安装 RabbitMQ,并整合 Spring Boot 实现消息...

    RabbitMQ+SSM整合

    RabbitMQ作为一款开源的消息代理和队列服务器,广泛应用于各种分布式系统中。本项目是关于如何将RabbitMQ与Spring、SpringMVC和Mybatis这三大流行框架进行整合,实现一套完整的数据增删改查功能。 首先,我们需要...

Global site tag (gtag.js) - Google Analytics