代码编织梦想


前言

跟随黑马视频学习Springboot集成RabbitMq,有什么不对的地方小伙伴们多多留言,一起进步:
下面是b站黑马视频传送门:
springboot集成RabbitMQ


提示:以下是本篇文章正文内容,下面案例可供参考

一、创建producer项目

1.新项目创建

在这里插入图片描述
完成以后配置好java,resources,test等源文件夹:
在这里插入图片描述

2.引入依赖

在pom文件中引入依赖,需要引入一个父项目合rabbitmq对应的依赖:

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>

    </dependencies>

3.编写启动类

package com.xyh;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ProducerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ProducerApplication.class,args);
    }
}

4.创建rabbitmq配置文件

在这里插入图片描述

spring:
  rabbitmq:
    host: 192.168.209.128
    port: 5672
    username: xyh
    password: xyh980616
    virtual-host: /xyh

5.创建RabbitMQ的配置类

在这里插入图片描述

package com.xyh.rabbitmq;

import org.springframework.amqp.core.*;
import org.springframework.beans.factory.annotation.Configurable;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class RabbitMQConfig {

    public static final String EXCHANGE_NAME = "boot_topic_exchange";
    public static final String QUEUE_NAME = "boot_queue";
    //1.创建交换机
    @Bean("bootExchange")
    public Exchange bootExchange(){
    //在此创建了Topic类型的交换机,创建其它类型的类似
        return ExchangeBuilder.topicExchange(EXCHANGE_NAME).durable(true).build();
    }
    //2.创建队列
    @Bean("bootQueue")
    public Queue bootQueue(){
        return QueueBuilder.durable(QUEUE_NAME).build();
    }

    //3.队列和交换机绑定关系
    @Bean
    public Binding bindQueueExchange(@Qualifier("bootQueue") Queue queue, @Qualifier("bootExchange") Exchange exchange){
        return BindingBuilder.bind(queue).to(exchange).with("boot.#").noargs();
    }
}

6.进行发布测试

创建测试类:
在这里插入图片描述
测试类代码:

package com.xyh;

import com.xyh.rabbitmq.RabbitMQConfig;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@SpringBootTest
@RunWith(SpringRunner.class)
public class ProducerTest {

    //注入RabbitTemplate
    @Autowired
    private RabbitTemplate rabbitTemplate;
    @Test
    public void testSend(){
//交换机名称:在配置类里已经定义,路由key,消息体
            rabbitTemplate.convertAndSend(RabbitMQConfig.EXCHANGE_NAME,"boot.haha","boot mq hello~");
    }
}

发布成功:
创建成功

二、创建Consumer项目

创建过程跟producer项目一致,依赖也一样,所以直接创建一个consumer的监听类:

1.创建ConsumerListener

package com.xyh;

import com.xyh.rabbitmq.RabbitMQConfig;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@SpringBootTest
@RunWith(SpringRunner.class)
public class ProducerTest {

    //注入RabbitTemplate
    @Autowired
    private RabbitTemplate rabbitTemplate;
    @Test
    public void testSend(){
            rabbitTemplate.convertAndSend(RabbitMQConfig.EXCHANGE_NAME,"boot.haha","boot mq hello~");
    }
}

2.进行测试

运行consumer启动类,控制台打印回调信息
在这里插入图片描述
在这里插入图片描述
可见已经被consumer消费。

三、总结:

  • 在producer项目里创建好RabbitMQ的配置类
  • 在consumer项目里创建好监听类
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xyhxuyonghao/article/details/129662348

RabbitMQ基础入门--SpringBoot + RabbitMQ 实现延时队列-爱代码爱编程

什么是QM 消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。其主要用途:不同进程Process/线程Thread之间通信。 什么是RabbitQM RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitM

SpringBoot 整合 RabbitMQ(快速入门)-爱代码爱编程

Linux centOS7 安装rabbitmq的步骤 1.uname -r 检查系统内核版本 2.yum install docker 下载docker 3.systemctl start docker 开启运行docker 4.docker -v 查看docker版本 5.systemctl enable docker 设置docke

rabbitmq,从入门基础到整合springboot,超详细笔记-爱代码爱编程

前言 什么是RabbitMQ? MQ(Message Quene) : 翻译为 消息队列,通过典型的 生产者和消费者模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现系统间解耦。别名为 消息中间件 通过利用高效可靠的消息传递机制进行平台无关的数据

springboot搭建rabbitmq测试(入门)-爱代码爱编程

为了更好的测试效果,我搭建了两个一样的项目,一个作为消息发送者和交换器,另外一个项目作为消息的接收器,为了省事我就直接搭建一个然后拷贝一个了,下面是集成步骤 这个集成的测试首先是以对点的方式的 我把它理解成发过去,一个人消费 (1)导入rabbitmq的依赖 这个版本多少自己可以根据情况选择自己需要的版本号 <dependency>

(二) RabbitMQ快速入门, 一篇文章教会你使用RabbitMQ并理解消息发布模型(SpringBoot版)-爱代码爱编程

RabbitMQ的使用与理解 前言一. 创建用户与虚拟主机二. SpringBoot集成RabbitMQ1. 引入依赖2. 编写配置文件(yml格式)3. 模板对象三. 消息发布模型1. 直连(点对点)2. work 工作模型3. 发布订阅(fanout广播)4. Routing 路由模型-direct5.Topic 动态路由模型-topic总结

Springboot整合RabbitMQ详解-爱代码爱编程

RabbitMQ 文章目录 RabbitMQRabbitMQ的特点AMQPAMQP模型消息确认AMQP是一个可编程的协议RabbitMQ安装Windows10安装步骤Spring整合AMQP官方中文文档GitHup翻译文档Spring AMQP主要对象类及作用Spring AMQP主要参数Springboot整合AMQP消费端监听相关注解@Rab

MQ消息中间件之RabbitMQ以及整合SpringBoot2.x实战教程-爱代码爱编程

文章目录 一、MQ引言1.1 什么是MQ1.2 MQ有哪些1.3 不同MQ特点二、RabbitMQ的引言2.1 RabbitMQ2.2 RabbitMQ的安装2.2.1 下载2.2.2 下载的安装包2.2.3 安装三、RabbitMQ配置3.1 RabbitMQ管理命令行3.2 web管理界面介绍3.2.1 overview概览3.2.2 Admi

消息队列RabbitMQ快速入门 一文搞懂RabbitMQ原理以及安装配置启动 掌握SpringBoot集成整合RabbitMQ-爱代码爱编程

RabbitMQ介绍 定义 MQ全称为Message Queue,即消息队列. 它也是一个队列,遵循FIFO原则 。RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue Protocol高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开 发中应用非常广泛。

SpringBoot集成RabbitMq-爱代码爱编程

一、初识MQ RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,RabbitMQ是使用Erlang语言来编写的,并且是基于AMQP协议的。 AMQP:Advanced Message Queuing Protocol,高级消息队列协议。是具有现代特征的二进制协议,是一个提供统一消息服务的应用层标准高级消息队

springboot集成rabbitmq的步骤_王二中的博客-爱代码爱编程

笔记内容大部分于来自b站视频 黑马程序员RabbitMQ全套教程,rabbitmq消息中间件到实战 一.生产者 1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactI

springboot集成rabbitmq_摇滚侠的博客-爱代码爱编程

步骤1 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <

springboot 整合 阿里云消息队列rabbitmq版服务_阿里云mq service-爱代码爱编程

序 因为公司的需要服务都是用的阿里云相关的产品,最近自己工作中也涉及到了消息队列这一块的业务,索性自己也来从零开始对接阿里云的消息队列服务。 准备 本着学习的前提,寻找是否免费的或者做活动的服务,能白嫖的就白嫖,果然被我找到了。 进入阿里云官方首页,找到精选活动->阿里云使用中心 点击进入         2.进入页面搜索消息队列

rabbitmq快速入门_java rabbitmq-爱代码爱编程

中间件&消息队列 中间件概述 中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发

【rabbitmq】federation实现消息传递_rabbitmq_federation-爱代码爱编程

RabbitMQ集群对时间非常敏感,应该在局域网中使用,不应在关于网中使用。而Federation插件可以很好地解决这个问题。这篇文章和大家分享RabbitMQ Federation的使用场景、实现原理和具体用法。 使用场景 Federation插件的目的就是解决RabbitMQ节点之间进行消息传递而不需要建立集群,这个功能在很多场景中都很有用: 在

springboot集成rabbitmq ttl特性_springboot rabbitmq ttl-爱代码爱编程

springboot集成RabbitMQ TTL特性 说明: TTL 全称 Time To Live(存活时间/过期时间), 当消息到达存活时间后,还没有被消费,会被自动清除。RabbitMQ可以对单个消息设置过