当前位置:首页 > 服务端 > rabbitMQ延时上限自动消费问题处理

rabbitMQ延时上限自动消费问题处理

2022年08月06日 09:40:21服务端6

使用rabbitMQ延时插件如果超过4294967295,此时消息就会立即被消费。

解决方法:

在发送延时服务中,将超出4294967295的消息放入中转延时MQ,比如中转延时3456000000,到时继续回调该服务,直到正常发送;

public void sendDelay(String orderId) {
    long delayedMills = 未来时间 - System.currentTimeMillis();//需要延时的时长
    if (delayedMills > 4294967295L) {
        //超出最大值,发送到中转MQ ,继续回调该服务
          MqMessage mqMessage = MqMessageBuilder().setAppId(xxxAppid).setMsgTag(xxxMsgTag)
            .setMsgType(中转xxxx.getMsgType()).setMsgBodyObject(orderId)
            .getMqMessage();
        mqMessage.setDelayedMills(3456000000L);
        rabbitMqTemplate.sendMsg(mqMessage, JttMsgExchanges.DELAY);
   } else {
        //未超出上限正常发送延时
        MqMessage mqMessage = new MqMessageBuilder().setAppId(xxxAppid).setMsgTag(xxxMsgTag)
            .setMsgType(xxxx.getMsgType()).setMsgBodyObject(orderId)
            .getMqMessage();
        mqMessage.setDelayedMills(delayedMills);
        rabbitMqTemplate.sendMsg(mqMessage, JttMsgExchanges.DELAY);
   }
}

作者:掌控日月
来源链接:https://blog.csdn.net/z125499702/article/details/123852647

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/18286.html

标签: RabbitMQ
分享给朋友:

“rabbitMQ延时上限自动消费问题处理” 的相关文章

中间件RabbitMQ

中间件RabbitMQ

一、前言 RabbitMQ在Windows上安装非常简单,就跟日常安装应用聊天软件一样,因此这里选择Linux环境安装RabbitMQ,并且借助Docker容器进行安装,在使用Docker安装RabbitMQ之前,我们先简单的了解一下几个概念:什么...

RabbitMQ配置SSL

RabbitMQ配置SSL

引言 主要介绍了如何通过Docker安装RabbitMQ并配置SSL;配置成功之后给出了SpringBoot和Python集成的例子。 生成证书 $ git clone https://github.com/Berico-Technol...

RabbitMQ基本特性

RabbitMQ基本特性

1.互联网大厂为什么选择RabbitMQ? 2.RabbitMQ的高性能之道是如何做到的? 3.什么是AMQP高级协议? 4.AMQP核心概念是什么? 5.RabbitMQ整体架构模型是什么样子? 6.RabbitMQ消息是如何流...

RabbitMQ消息队列创建

RabbitMQ消息队列创建

操作环境 centos 7.9 RabbitMQ 3.8.23 Erlang 24.1.2 局域网(内网) 本文章是通过RabbitMQ图形管理界面,进行消息创建与队列绑定 首先在RabbitMQ安装时...

rabbitmq权限配置

关于rabbitmq权限的几点: rabbitmq的权限控制通过两层来实现,一是vhost的权限,二是确认有权限访问vhost后,对vhost内资源的权限控制(配置,读,写)   1.默认...

rabbitmq 启动异常

问题点说明:今天早上,开发人员反映Rabbitmq有问题,我试着登录页面访问http://IP:15672,出现了报错信息,因为当时忙着处理,报错页面没有截下来。 后面想重启一下Rabbitmq看能不能解决问题,发现居然重启不了,然后查看了下日志信息,找到了Ra...

linux查看rabbitmq运行状态,RabbitMQ常用命令

RabbitMQ常用命令 rabbitmqctl命令 http://www.rabbitmq.com/man/rabbitmqctl.1.man.html# 1). 服务器启动与关闭 启动: rabbitmq-server –detach...

Linux系统Centos7安装RabbitMQ使用压缩包配置环境变量RabbitMQ 3.8.16.tar.xz Erlang 24

Linux系统Centos7安装RabbitMQ使用压缩包配置环境变量RabbitMQ 3.8.16.tar.xz Erlang 24

文件的下载1、创建两个安装信息的存放文件夹sudo mkdir /usr/local/rabbitmqsudo mkdir /usr/local/erlang  2、下载rabbitmq和erlangcd /usr/local/rab...

RabbitMQ与SpringBoot整合

RabbitMQ与SpringBoot整合

RabbitMQ  SpringBoot    一.RabbitMQ的介绍 二.Direct模式...

activeMQ、rabbitMQ学习对比心得

activeMQ、rabbitMQ学习对比心得

一、activemq activemq工作模型比较简单。只有两种模式 queue、topics 。 queue就多对一,producer往queue里发送消息,消费者从queue里取,消费一条,就从queue里移除一条。如果一个消费者消费速度...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。