【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

相关推荐
MC丶科21 小时前
【SpringBoot常见报错与解决方案】中文乱码?Spring Boot 统一解决前后端中文乱码问题(含 Postman 测试)!别再百度“加 UTF-8”了!
spring boot·后端·postman
XXOOXRT1 天前
基于SpringBoot的加法计算器
java·spring boot·后端·html5
Coder_Boy_1 天前
基于SpringAI的在线考试系统-DDD业务领域模块设计思路
java·数据库·人工智能·spring boot·ddd
Voyager_41 天前
StringRedisTemplate 和 RedisTemplate 的区别是什么?
java·spring boot
小北方城市网1 天前
SpringBoot 全局异常处理与接口规范实战:打造健壮可维护接口
java·spring boot·redis·后端·python·spring·缓存
Chan161 天前
【 微服务SpringCloud | 方案设计 】
java·spring boot·微服务·云原生·架构·intellij-idea
hanqunfeng1 天前
(三十三)Redisson 实战
java·spring boot·后端
计算机毕设指导61 天前
基于微信小程序的运动场馆服务系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
小北方城市网1 天前
SpringBoot 集成 MyBatis-Plus 实战(高效 CRUD 与复杂查询):简化数据库操作
java·数据库·人工智能·spring boot·后端·安全·mybatis
这儿有个昵称1 天前
互联网大厂Java面试场景:从Spring Boot到微服务架构
java·spring boot·消息队列·微服务架构·大厂面试·数据库优化