首页 > 解决方案 > 根据到期时间(生存时间)将消息从一个 IBM MQ 队列移动到另一个 MQ 队列

问题描述

我有一个以伪同步方式使用 IBM MQ 的应用程序。我有请求 Q 和响应 Q。这将通过服务调用。现在我的服务有一个超时时间来显示响应。但实际响应也可以在超时后推送到响应 Q。现在我想将所有延迟的消息(超时)移动到单独的消息 Q 中,以便它们可以被不同的进程使用。

这可以通过按时间设置来实现吗?IBM MQ 中是否有任何方法可用于此类移动。请参考下图的场景。

在此处输入图像描述

标签: jmsibm-mqsynchronous

解决方案


不要使用时间来生存,因为消息会过期并被删除——除非那是你想要的。从您的描述/图片中,听起来您希望另一个应用程序来处理延迟响应。

MQ 中没有任何内容可以将早于“x”秒/分钟的消息移动到另一个队列。你需要编写一个程序来做到这一点。如果您编写程序,请确保在工作单元下进行移动。

有几个商业程序可以做到这一点:(1)GUI 程序:MQ Visual Edit和(2)命令行(shell):MQ Batch Toolkit


推荐阅读