rabbitmq开启手动确认消息消费

背景由于rabbitmq发送端和消费端不在同一个系统中。参考了网上的一些配置,只在发送端配置了消息消费确认,而每次消费端消费时,并没有确认消费,也是消费完直接删除消息了。原因发送端与消费端需要分开配置。如果消费端不配置消息确认的话,则默认无需确认,直接消费完后即删除。消费端需配置spring: rabbitmq: listener: #加了2下面2个属性,消费消息的时候,就必须发送ack确认,不然消息永远还在队列中 direct: acknowledge-
摘要由CSDN通过智能技术生成
背景

由于rabbitmq发送端和消费端不在同一个系统中。参考了网上的一些配置,只在发送端配置了消息消费确认,而每次消费端消费时,并没有确认消费,也是消费完直接删除消息了。

原因

发送端与消费端需要分开配置。如果消费端不配置消息确认的话,则默认无需确认,直接消费完后即删除。

消费端需配置
spring:
  rabbitmq:
    listener:  #加了2下面2个属性,消费消息的时候,就必须发送ack确认,不然消息永远还在队列中
      direct:
        acknowledge-mode: manual
      simple:
        acknowledge-mode: manual
发送端配置
spring:
  #rabbitmq
  rabbitmq:
    host: 127.0.0.1
    port: 5672
    username: guest
    password: guest
    # 发送者开启 confirm 确认机制
    publisher-confirms: true
    # 发送者开启 return 确认机制
    publisher-returns: true

消费端代码

监听代码、

@RabbitListener(
            bindings =
                    {
   
                            @QueueBinding(value = @Queue(value = RabbitConstant.VERSION_UPDATE_COMMUNICATION_QUEUE_NAME, durable = "true"),
                                    exchange = @Exchange(value = RabbitConstant.VERSION_UPDATE_COMMUNICATION_EXCHANGE, type = "topic"),
                                    key = RabbitConstant.VERSION_UPDATE_COMMUNICATION_ROUTINGKEY)
                    })
    
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值