Spring Boot学习 RabbitMQ 消息队列 (二) SpringBoot整合 设置消息确认机制,可靠抵达 ConfirmCallbac ReturnCallback
Spring Boot学习 RabbitMQ 消息队列 (一) 消息队列 基本概念 web端操作
3. SpringBoot整合 RabbitMQ
3.1 环境搭建
3.1.1 导入整合依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
3.1.2 配置文件
spring.rabbitmq.host=192.168.231.1
spring.rabbitmq.port=5672
spring.rabbitmq.virtual-host=/
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
3.1.3 @EnableRabbit
@EnableRabbit //开启基于注解的RabbitMQ模式
@SpringBootApplication
public class AmqpApplication {
public static void main(String[] args) {
SpringApplication.run(AmqpApplication.class, args);
}
}
3.1.4 SpringBoot对rabbitmq的自动配置
/**
* 引入 spring-boot-starter-amqp 场景启动器后,自动配置生效
* 自动配置
* 1、RabbitAutoConfiguration
* 2、自动配置了连接工厂ConnectionFactory;
* 3、RabbitProperties 封装了 RabbitMQ的配置
* 4、 RabbitTemplate :给RabbitMQ发送和接受消息;
* 5、 AmqpAdmin : RabbitMQ系统管理功能组件;
* AmqpAdmin:创建和删除 Queue,Exchange,Binding
* 6、@EnableRabbit + @RabbitListener 监听消息队列的内容
*
*/
3.2 AmqpAdmin系统管理功能组件
作用:操作exchange、queue、bind
@Autowired
AmqpAdmin amqpAdmin;
@Test
public void createExchange(){
//创建不同类型的交换机使用不同的类作为参数
//DirectExchange(String name, boolean durable, boolean autoDelete, Map<String, Object> arguments)
amqpAdmin.declareExchange(new DirectExchange("amqpadmin.exchange"));
System.out.println("创建完成");
//创建队列
amqpAdmin.declareQueue(new Queue("amqpadmin.queue",true));
//创建绑定规则
/**
* new Binding("amqpadmin.queue",
Binding.DestinationType.QUEUE,
"amqpadmin.exchange",
"amqp.haha",
null)
* 目的地(队列名or交换器名)、
目的地类型(绑定到队列or交换器)、
绑定的交换器名称、
路由键、
MAP的参数集合
*/
amqpAdmin.declareBinding(new Binding(

本文介绍了如何在Spring Boot应用中整合RabbitMQ,并着重讲解了如何设置消息确认机制以确保消息可靠抵达。内容包括导入依赖、配置文件、启用RabbitMQ支持、使用AmqpAdmin和rabbitTemplate,以及通过@RabbitListener和@RabbitHandler实现消息监听。同时,详细阐述了如何定制RabbitTemplate实现确认回调,包括设置ConfirmCallback和ReturnCallback,以及手动ack模式的配置与使用。
最低0.47元/天 解锁文章
11万+

被折叠的 条评论
为什么被折叠?



