Java教程:RabbitMq如何开启发布手动确认模式,采用及时或异步方式确定消息是否发送到队列

引言:

自我们安装好rabbitmq之时,系统默认生产者与消费者发布消费机制为自动模式,也就是说无需我们知道是否成功,即发布方法调取之后,消费者无异常后,整个流程完毕,但由于我们业务当中,由于网络波动或服务异常,消息有可能未成功被处理,这就需要我们确保消息真的到达了队列,或真的被消费成功,此文章将为大家讲解如何确定发布者将消息是否到达了交换机或队列

在这里插入图片描述

本次我们采用rabbitTemplate方式发送

rabbitmq发布确认有三种方式:

  1. 单独发布消息:同步等待确认,简单,但吞吐量非常有限
  2. 批量发布消息:批量同步等待确认,简单,合理的吞吐量,一旦出现问题但很难推断出是哪条消息出现了问题。
  3. 异步处理:最佳性能和资源利用,在出现错误的情况下可以很好地控制,但是实现起来稍微复杂一些。

一、yml文件添加如下:

# spring
spring:
 #配置rabbitMq 服务器
  rabbitmq:
    host: 127.0.0.1
    port: 5672
    username: test
    password: test
    publisher-confirm-type: correlated    // 此处为新加

二、代码实现:

  1. 单独发布消息
boolean flag = Boolean.TRUE.equals(rabbitTemplate.invoke(operations -> {
   
            rabbitTemplate.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值