Ibm mq 将MQ消息从一个队列复制到另一个队列

Ibm mq 将MQ消息从一个队列复制到另一个队列,ibm-mq,Ibm Mq,问题: 是否可以将MQ消息从一个队列管理器/队列复制到另一个队列管理器/队列 场景: 我有一个“PROD”队列管理器,当它在其队列上接收到消息时,我希望将消息“复制”到“测试”队列管理器上的队列中 要求 原始消息必须留在PROD队列中,才能正常处理 这必须是一个自动化的过程(一天中有很多消息)。我不能逐一进行干预 如果可能的话,我希望这是由一些本机MQ功能实现的,而不是一个特殊的程序/脚本 复制必须尽可能接近实时 必须使用MQ版本是7.0.2.1(!)。这是无法改变的 必须在Red Hat E

问题

是否可以将MQ消息从一个队列管理器/队列复制到另一个队列管理器/队列

场景

我有一个“PROD”队列管理器,当它在其队列上接收到消息时,我希望将消息“复制”到“测试”队列管理器上的队列中

要求

  • 原始消息必须留在PROD队列中,才能正常处理
  • 这必须是一个自动化的过程(一天中有很多消息)。我不能逐一进行干预
  • 如果可能的话,我希望这是由一些本机MQ功能实现的,而不是一个特殊的程序/脚本
  • 复制必须尽可能接近实时
  • 必须使用MQ版本是7.0.2.1(!)。这是无法改变的
  • 必须在Red Hat Enterprise Linux Server 5.11版(Tikanga)上运行。同样,这是无法改变的
我不是MQ专家,所以请用小词


提前感谢

您所需要的只是mqadmin人员,这

gouda指出的唯一问题是MQ将修改/更改每个复制消息的MsgId和CorrelId

如果MsgId和/或CorrelId字段很重要,那么唯一的其他选项是复制消息的MQ API出口。您可能需要一种商业产品,如

下一个问题是如何将消息从PROD队列移动到测试队列?您肯定不想在PROD队列管理器和测试队列管理器之间创建通道

有很多工具可以将PROD消息卸载到一个文件中,然后您可以将该文件移动到您的测试环境中,然后将消息加载到测试队列中。下面是一个可以做到这一点的列表。您应该尝试的两个工具是:MQ批处理工具包和QLoad

就我个人而言,我会创建一个计划任务(CRONTAB),在每晚午夜运行以关闭消息,我会让文件名包含日期和时间。脚本的最后一步是压缩文件并删除原始文件(因为卸载的数据可能非常大)


因此,任何时候您想要某一天的PROD消息,只需将该文件复制到您的测试服务器,然后解压缩/解压缩并加载到队列中。

谢谢,我今天要回顾一下。您说过“您绝对不想在PROD队列管理器和测试队列管理器之间创建通道。”。这是出于“MQ原因”还是出于良好实践,即保持产品数据筒仓化?thanksBest Practices&它将防止简单事故的发生。潘多拉魔盒——你只是不想打开它,因为坏事可能会发生。