Jms 根据到期时间(生存时间)将消息从一个IBM MQ队列移动到另一个MQ队列

Jms 根据到期时间(生存时间)将消息从一个IBM MQ队列移动到另一个MQ队列,jms,ibm-mq,synchronous,Jms,Ibm Mq,Synchronous,我有一个以伪同步方式使用IBMMQ的应用程序。我有请求Q和响应Q。这将通过服务调用。现在,我的服务有一个超时时间来显示响应。 但实际响应也可以在超时后推送到响应Q。现在我想将所有延迟消息(超时)移动到一个单独的消息Q,这样它们就可以被另一个进程使用 这是否可以通过设置时间来实现?IBM MQ中是否有任何方法可用于此类移动。 请参考下图了解场景 不要使用“生存时间”,因为邮件将过期并被删除,除非这是您想要的。根据您的描述/图片,听起来您希望另一个应用程序处理延迟响应 MQ中没有任何内容会将早于“x

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

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


不要使用“生存时间”,因为邮件将过期并被删除,除非这是您想要的。根据您的描述/图片,听起来您希望另一个应用程序处理延迟响应

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


有几个商业程序可以做到这一点:(1)GUI程序:(2)命令行(shell):。

dmpmqmsg也可以做到这一点,这是MQ带来的。@罗杰程序的问题是,如果我在队列上使用新的侦听器,就无法区分实时消息和旧消息,因此,我的实时消息也有可能被新的侦听器接收到,这可能会对我的原始消息造成更多超时listener@SivaRam浏览(非破坏性)和破坏性获取之间存在差异。如果您正确地编写了代码,那么这就不是问题。我列出的两个程序不会干扰。他们浏览队列,如果消息的时间超过“x”秒/分钟,则获取移动并将其放在工作单元下的另一个队列中。