# Spring Boot学习 RabbitMQ 消息队列 (二) SpringBoot整合 设置消息确认机制,可靠抵达 ConfirmCallbac ReturnCallback

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

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(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值