在 MQ 系列中配置“重试延迟”

     2023-03-10     203

关键词:

【中文标题】在 MQ 系列中配置“重试延迟”【英文标题】:Configuring a 'retry delay' in MQ Series 【发布时间】:2010-11-22 07:31:26 【问题描述】:

我希望有人可以帮助我 - 我在基于 EJB/JMS 的应用程序中使用 JBoss 5.1 和 MQ Series 7。我的应用程序中有几个消息驱动的 bean,每个都侦听一个 MQ 系列消息队列。当在处理消息的过程中遇到错误时,我需要能够配置“重试延迟”,以便 mq 系列在尝试重新传递消息之前等待一段时间。我已经广泛梳理了 MQ 系列文档,但还没有找到在 MQ 系列中完成此操作的方法。我知道 JBoss 默认 JMS 提供程序有办法做到这一点,但我目前仅限于使用 MQ 系列。由于我无法设置重试延迟 - 当我有一条消息失败时,我的应用程序会陷入传递消息并连续回滚的紧密循环中。谁能帮助我了解 MQ 系列中是否有一些配置选项允许我在重新传递失败消息之前等待 X 毫秒?

【问题讨论】:

【参考方案1】:

您可以指定重试限制,以便在指定尝试后停止连续回滚。

【讨论】:

【参考方案2】:

这很可能是为此类问题构建一些基础设施的机会。

由于您可以在消息进入 bean 时查看 JMSDeliveryCount(在处理它之前 - 考虑提交范围),并且您可以看到它已经有几个回滚,因此将消息发送到暂存队列但是在 jms 属性中附加目标队列名称,以便您以后可以使用它。

一个简单的进程可以在某个时间间隔运行以清除暂存队列(例如每 5 分钟一次)并将消息发送到路由队列

另一个进程可以坐在路由队列上并查看 jms 属性(将目标队列名称添加到其中)并将消息发送到原始目标。

这是一个穷人的经纪人,但它会实现目标。确实没有太多内置功能可以真正做你想做的事。

【讨论】:

【参考方案3】:

我认为你运气不好。据我所知,在这种情况下您可以调整的唯一参数是重试消息的最大次数 (BOTHRESH) 以及发送消息的异常/回退队列 (BOQUEUE) 的名称(如果重试次数超过最大值。

帕尔

【讨论】:

了解 MQ 系列绑定文件

】了解MQ系列绑定文件【英文标题】:UnderstandingMQSeriesbindingsfiles【发布时间】:2010-11-0107:26:08【问题描述】:我们的Java应用通过WeblogicJMS消息桥写入MQ系列队列。实际的MQ系列连接/队列详细信息存储在应用服务器上的MQ系列.binding... 查看详情

mq系列——mq简介(代码片段)

mq简介mq就是消息队列(MessageQueue)。想必大家对队列的数据结构已经很熟悉了,消息队列可以简单理解为:把要传输的数据放在队列中,mq就是存放和发送消息的这么一个队列中间件。在消息队列中,把数据放到消息队列的角色... 查看详情

在 WebSphere MQ 中配置死信队列

】在WebSphereMQ中配置死信队列【英文标题】:configuringdeadletterqueueinWebSphereMQ【发布时间】:2013-05-2300:21:55【问题描述】:我在我的应用程序中使用IBMWebsphere和MQ,现在我想知道如何配置(或)让Websphere了解在MQ中创建了一个死信队... 查看详情

对 IBM MQ 系列队列中每个优先级的项目进行计数

】对IBMMQ系列队列中每个优先级的项目进行计数【英文标题】:CountingitemsofeachprioritylevelinanIBMMQSeriesQueue【发布时间】:2008-10-0710:27:16【问题描述】:我有一个IBMWebSphereMQ队列(在Windows上运行),其中包含许多不同优先级的项目。... 查看详情

消息中间件mq系列spring整合kafka并设置多套kafka配置(代码片段)

 1、前言    圣诞节的到来,程序员不会收到圣诞老人的🎁,但可以自己满足一下自己,所以,趁着有时间,就记录一下这会儿撸了些什么代码吧!!!        因为业务原因,需要在... 查看详情

Symfony Messenger:重试延迟不适用于 Redis 传输

...ssenger组件(版本4.3.2)来发送消息。对于异步消息处理,配置了一些Redis传输并且它们工作正常。但是后来我决定当消息 查看详情

在 jboss 7.1 中配置 MDB 和 MQ 时面临的问题

】在jboss7.1中配置MDB和MQ时面临的问题【英文标题】:FacingissuewhileConfiguringMDBandMQinjboss7.1【发布时间】:2019-07-0507:07:41【问题描述】:我之前使用的是jboss6.4,现在我正在迁移到jboss7.1和MQ8,我们已经使用jboss-ejb3.xml来配置MDB和MQ,... 查看详情

圣诞也要撸代码|消息中间件mq系列spring整合kafka并设置多套kafka配置(代码片段)

 1、前言    圣诞节的到来,程序员不会收到圣诞老人的🎁,但可以自己满足一下自己,所以,趁着有时间,就记录一下这会儿撸了些什么代码吧!!!        因为业务原因,需要在... 查看详情

重试延迟 - RxSwift

】重试延迟-RxSwift【英文标题】:DelayforRetry-RxSwift【发布时间】:2016-11-2505:51:39【问题描述】:有没有优雅的解决方案来为retry创建延迟?发生错误时,我想等待5秒并重新启动Observable(retry)【问题讨论】:【参考方案1】:这里是s... 查看详情

mq系列11:如何保证消息可靠性传输(除夕奉上)

MQ系列1:消息中间件执行原理MQ系列2:消息中间件的技术选型MQ系列3:RocketMQ架构分析MQ系列4:NameServer原理解析MQ系列5:RocketMQ消息的发送模式MQ系列6:消息的消费MQ系列7:消息通信,追求极致性能MQ系列8:数据存储,消息队列... 查看详情

elasticsearch系列---实战零停机重建索引(代码片段)

前言我们使用Elasticsearch索引文档时,最理想的情况是文档JSON结构是确定的,数据源源不断地灌进来即可,但实际情况中,没人能够阻拦需求的变更,在项目的某个版本,可能会对原有的文档结构造成冲击,增加新的字段还好,... 查看详情

消息队列mq——springboot整合rabbitmq(代码片段)

系列文章目录消息队列MQ(一)——RabbitMQ的介绍、安装以及管理页面的使用消息队列MQ(二)——SpringBoot整合RabbitMQ文章目录系列文章目录前言一、简介二、搭建工程1.创建P系统(生产者)1.1yml配置RabbitMQ属性2.创建C系统(消费者)2.1yml配... 查看详情

初识rabbitmq系列之一:简单介绍

一:RabbitMQ是什么?众所周知,MQ是Message Queue(消息队列)的意思,RabbitMQ就是众多MQ框架其中的一款,开源实现了AMQP协议(官网:http://www.amqp.org/),也就是说RabbitMQ是一个开源的消息队列框架。他用于在分布式系统中存储... 查看详情

POSIX 队列配置

】POSIX队列配置【英文标题】:POSIXQueueConfiguration【发布时间】:2014-03-1413:12:50【问题描述】:我想知道如何在linux操作系统上配置posix队列。我知道我可以在sysctl.conf和代码中编辑的方式mq_open(**,**,**);有没有其他方法可以配置每... 查看详情

移动质量(mq)测试系列

移动质量(MQ)测试向移动开发者提供专业、稳定、全面、高价值的自动化测试平台、发现APP中的各类隐患,包括APP崩溃、各类兼容性、功能性、性能问题等等。MQ的5大功能(兼容性测试、稳定性测试、H5测试、功能测试、安全... 查看详情

MQ消息头中用户id的默认值

...ID。但是我的问题是,由于该参数在我的应用程序中是可配置的,如果用户没有设置它,将从哪里获取值?我浏览了以下链接,但对于如果用户ID未在应用程序级别设置, 查看详情

是否有任何 MQ 服务器可以嵌入在 Java 进程中运行?

...一个应用研究排队解决方案。理想情况下,我们希望可以配置为轻量级的进程内代理(用于线程之间的低吞吐量消息传递)和外部代理。是否有可以执行此操作的MQ服务器?大多数似乎需要设置为外部实体。Ze 查看详情

《吃透mq系列》之扒开kafka的神秘面纱

大家好,这是《吃透MQ系列》的第二弹,有些珊珊来迟,后台被好几个读者催更了,实属抱歉!这篇文章拖更了好几周,起初的想法是:围绕每一个具体的消息中间件,不仅要写透,而且要控制好篇幅,写下来发现实在太难了,... 查看详情