Spring Boot中集成 RabbitMQ

本文介绍了如何在Spring Boot应用中集成RabbitMQ,包括配置步骤以及自动和手动确认消息的方法,还探讨了实现延迟队列的实践。
摘要由CSDN通过智能技术生成
  <!-- 在 pom 文件中添加 -->
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
  </dependency>
  • 配置
#修改 application.properites文件
# 配置集群的VIP # 192.168.174.150:5672
spring.rabbitmq.addresses=192.168.174.150:5672
# 配置真实IP也可以
#spring.rabbitmq.addresses=192.168.174.140:5672,192.168.174.141:5672     
# 配置账号
spring.rabbitmq.username=admin
spring.rabbitmq.password=123456

spring.rabbitmq.connection-timeout=15000
@Configuration
public class RabbitConfig {
   
	private Logger log = LoggerFactory.getLogger(RabbitConfig.class);
  
  // 这里配置,配置文件就不生效了
	@Bean
  public RabbitTemplate rabbitTemplate(CachingConnectionFactory connectionFactory) {
   
      // 生产者:confirm 模式 , 默认是 false
      connectionFactory.setPublisherConfirms(true);
      // 生产者:return机制 , 默认是 false
      connectionFactory.setPublisherReturns(true);
      RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
      // 生产者: 与return机制结合配置次属性
      rabbitTemplate.setMandatory(true);
      // 发送确认消息,在生产者发送消息后,需要对rabbitTemplate设置ConfirmCallback对象
      rabbitTemplate.setConfirmCallback((correlationData, ack, cause) -> {
   
        log.info("消息回调id:" + correlationData);
        if (ack) {
   
            log.info("消息成功消费");
        } else {
   
            log.info("消息消费失败:" + cause);
        }
      }
      // 启动消息失败返回,比如路由不到队列时触发回调
      rabbitTemplate.setReturnCallback((message, replyCode, replyText, exchange, routingKey
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值