美文网首页
springBoot使用RabitMq使用发布确认和消费确认

springBoot使用RabitMq使用发布确认和消费确认

作者: 你猜_bug开发 | 来源:发表于2018-05-30 16:51 被阅读0次

消息发送确认

发送的消息怎么样才算失败或成功?如何确认?

当消息无法路由到队列时,确认消息路由失败。消息成功路由时,当需要发送的队列都发送成功后,进行确认消息,对于持久化队列意味着写入磁盘,对于镜像队列意味着所有镜像接收成功

使用springBoot,需要在application.properties配置文件中配置:

ConfirmCallback

消息发送到 Broker 后触发回调,确认消息是否到达 Broker 服务器,通过实现 ConfirmCallback 接口,复写confirm()方法,实现自己的处理逻辑,

注意:失败的回调,并不会传回,失败的消息,仅仅只是一个表示,告诉你成功与否,可以在send消息的时候,传入CorrelationData参数(),这样回调ConfirmCallback的时候,就可以拿到message()

如果需要对失败的消息做额外的重发处理,需要做额外的操作,如:使用redis,把发送的消息,存在redis中,返回ack,则删除redis的消息,定时获取redis中的消息,做重发处理

代码如下:

ReturnCallback

通过实现 ReturnCallback 接口,启动消息失败返回(成功无返回):

在初始化RabbitAdmin或者RabbitTemplate的时候,设置回调:

发送消息:

只有设置了Mandatory,才会在失败的时候调用ReturnCallback(方法)

消费确认

首先需要在application.properties配置去下,开启手动确认模式:

具体消费代码如下:

相关文章

  • springBoot使用RabitMq使用发布确认和消费确认

    消息发送确认 发送的消息怎么样才算失败或成功?如何确认? 当消息无法路由到队列时,确认消息路由失败。消息成功路由时...

  • RabitMQ 发布确认

    每日一句 军人天生就舍弃了战斗的意义! 概述 RabitMQ 发布确认,保证消息在磁盘上。 前提条件 1。队列必须...

  • RabitMQ 发布确认

    每日一句 军人天生就舍弃了战斗的意义! 概述 RabitMQ 发布确认,保证消息在磁盘上。 前提条件 1。队列必须...

  • RabbitMQ高级整合应用-5、RabbitMQ与Spring

    这个帖子我们就可以使用springboot经典的配置文件的方式来实现消息的确认和失败回调 消息确认和失败回调 代码...

  • 4.RabbitMQ客户端开发(3)

    1.消费者的确认与拒绝 为了确保消息从队列可靠地到达消费者,RabbitMQ提供了消息确认机制。消费者在使用bas...

  • 确认过程实施要点

    专用目标1 准备确认专用实践1.1 选择要确认的产品本实践要求选择要确认的产品和产品部件及使用的确认方法。为此:...

  • 发布确认

    发布确认原理 生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式,所有在该信道上面发布的...

  • RabbitMQ入门学习系列(三).消息发送接收

    快速阅读 ​ 用Rabitmq的队列管理,以及如何保证消息在队列中不丢失。通过ack的消息确认和持久化进行操作...

  • RabbitMQ 学习笔记3 - Java 使用 RabbitM

    1. 背景 本节讲述 Java 使用 RabbitMQ 的示例,和 发送者确认回调,消费者回执的内容。 2.知识 ...

  • rabbitmq的特点

    可靠性∶RabbitMQ使用一些机制来保证可靠性,如持久化、传输确认及发布确认等。 灵活的路由∶在消息进入队列之前...

网友评论

      本文标题:springBoot使用RabitMq使用发布确认和消费确认

      本文链接:https://www.haomeiwen.com/subject/asvajftx.html