【rabbitMQ】springboot整合rabbitMQ模拟简单收发消息

目录

1.创建项目和模块

2.添加rabbitMQ依赖

3.启动rabbitMQ服务

4.引入rabbitMQ服务端信息

5.通过单元测试模拟业务发送消息

[6. 接收消息](#6. 接收消息)


1.创建项目和模块

2.添加rabbitMQ依赖

<!-- rabbitmq依赖-->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-amqp</artifactId>

</dependency>

3.启动rabbitMQ服务

登录

4.引入rabbitMQ服务端信息

复制代码
spring:
  rabbitmq:
    port: 5672
    host: localhost
    username: guest       rabbitMQ服务端账号
    password: guest       rabbitMQ服务端密码  
    virtual-host: /       虚拟机地址 

rabbitMQ服务端用户和虚拟机操作可参考

https://blog.csdn.net/m0_67930426/article/details/134905566

5.消费者监听队列

java 复制代码
package com.example.consumer.mqListener;


import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

@Slf4j
@Component
public class Listener {

    @RabbitListener(queues = "bbb.queue")
    public void bbb(String msg){
        System.out.println("消费者收到了bbb.queue的消息:【"+msg+"】");


    }
}

运行

6.通过单元测试模拟业务发送消息

java 复制代码
package com.example.publisher;

import org.junit.jupiter.api.Test;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
public class SendMessage {


    @Autowired
    private RabbitTemplate rabbitTemplate;


    @Test
    void  TestSend(){
        String queueName="aaa.queue";
        String msg="我正在使用rabbitMQ";
        rabbitTemplate.convertAndSend(queueName,msg);

    }


}

运行成功

如果队列未接收到msg,很可能是交换机未绑定该队列

因为生产者发送消息,经过交换机,再到队列,最终由消费者监听,接收消息

交换机绑定队列可以参考

https://blog.csdn.net/m0_67930426/article/details/134904365?spm=1001.2014.3001.5501

相关推荐
小马爱打代码35 分钟前
Spring Boot 3.4 :@Fallback 注解 - 让微服务容错更简单
spring boot·后端·微服务
旷世奇才李先生1 小时前
奇哥面试记:SpringBoot整合RabbitMQ与高级特性,一不小心吊打面试官
spring boot·面试·java-rabbitmq
经典19921 小时前
spring boot 详解以及原理
java·spring boot·后端
白仑色3 小时前
Spring Boot 多环境配置详解
java·spring boot·后端·微服务架构·配置管理
超级小忍3 小时前
在 Spring Boot 中优化长轮询(Long Polling)连接频繁建立销毁问题
java·spring boot·后端
Z_W_H_3 小时前
【springboot】IDEA手动创建SpringBoot简单工程(无插件)
java·spring boot·intellij-idea
荔枝hu4 小时前
springboot生成pdf方案之dot/html/图片转pdf三种方式
spring boot·pdf·html
Z_W_H_7 小时前
【SpringBoot】 整合MyBatis+Postgresql
java·spring boot·后端
麦兜*8 小时前
【SpringBoot 】Spring Boot OAuth2 六大安全隐患深度分析报告,包含渗透测试复现、漏洞原理、风险等级及完整修复方案
java·jvm·spring boot·后端·spring·系统架构
Code季风9 小时前
Spring Bean的生命周期详解
java·spring boot·spring