SpringBoot整合RabbitMQ

SpringBoot整合RabbitMQ的步骤如下:

  1. 添加依赖 :在SpringBoot项目的pom.xml文件中添加RabbitMQ的依赖。
xml 复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
  1. 配置RabbitMQ :在application.propertiesapplication.yml文件中添加RabbitMQ的配置信息,如RabbitMQ服务器的地址、端口、用户名、密码、交换机、队列和路由键等。
properties 复制代码
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest

# 配置交换机
my.rabbitmq.exchange.name=myExchange
my.rabbitmq.exchange.type=direct

# 配置队列
my.rabbitmq.queue.name=myQueue

# 配置路由键
my.rabbitmq.routing.key=myRoutingKey
  1. 创建RabbitMQ生产者:创建一个服务来发送消息到RabbitMQ的交换机。
java 复制代码
@Service
public class RabbitMQProducer {

    @Autowired
    private RabbitTemplate rabbitTemplate;

    public void sendMessage(String exchangeName, String routingKey, String message) {
        rabbitTemplate.convertAndSend(exchangeName, routingKey, message);
    }
}
  1. 创建RabbitMQ消费者:创建一个服务来接收RabbitMQ队列中的消息。
java 复制代码
@Service
public class RabbitMQConsumer {

    @RabbitListener(queues = "myQueue")
    public void receiveMessage(String message) {
        System.out.println("Received message: " + message);
    }
}

在这里,@RabbitListener注解用于标注监听队列的方法。

  1. 配置交换机、队列和绑定 :如果需要在Spring Boot中配置交换机、队列和绑定,可以使用@Bean注解来定义它们。
java 复制代码
@Configuration
public class RabbitMQConfig {

    @Bean
    public DirectExchange exchange() {
        return new DirectExchange(my.rabbitmq.exchange.name);
    }

    @Bean
    public Queue queue() {
        return new Queue(my.rabbitmq.queue.name);
    }

    @Bean
    public Binding binding(Queue queue, DirectExchange exchange) {
        return BindingBuilder.bind(queue).to(exchange).with(my.rabbitmq.routing.key);
    }
}
  1. 运行和测试:启动SpringBoot应用和RabbitMQ服务,然后尝试发送和接收消息,确保整合成功。

注意:在实际应用中,你可能还需要考虑更多的配置,如消息持久化、消息确认机制、死信队列、消息序列化/反序列化等。具体的配置和使用方式可以参考RabbitMQ和SpringBoot的官方文档。

相关推荐
bug攻城狮9 小时前
Spring Boot应用内存占用分析与优化
java·jvm·spring boot·后端
迪巴拉152510 小时前
基于Vue与Spring Boot+Open Cv的智慧校园考勤系统
前端·vue.js·spring boot
me83210 小时前
【Java】踩坑实录:Spring Boot + Nginx 本地部署404终极排查:从80端口被占用到配置生效全流程
java·spring boot·nginx
韩立学长11 小时前
基于Springboot校园志愿者服务平台77pz7812(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
qq_124987075311 小时前
基于SpringBoot微信小程序的智能在线预约挂号系统(源码+论文+部署+安装)
spring boot·后端·微信小程序·毕业设计·计算机毕设·毕业设计源码
小马爱打代码11 小时前
SpringBoot + 异地多活 + 消息回放:金融级数据一致性容灾架构设计与演练
spring boot·金融
AD钙奶-lalala13 小时前
SpringBoot 4.0.3配置Swagger
java·spring boot·后端
Msshu12314 小时前
多协议快充取电芯片 支持与主板MCU共用D+D-网络可取电可与电脑传输数据
elasticsearch·sqlserver·flink·rabbitmq·storm
随机昵称_12345614 小时前
springboot导出带水印文字的xlsx
java·spring boot·后端
小马爱打代码14 小时前
SpringBoot + JVM 内存泄漏监控 + Heap Dump 自动采集:OOM 前自动预警并留存现场
jvm·spring boot·后端