问题:
是否可以将MQ消息从一个队列管理器/队列复制到另一个队列管理器/队列?
方案:
我有一个“PROD”队列管理器,当它在队列上收到消息时,我想将消息“复制”到“TEST”队列管理器上的队列中。
要求
我不是MQ专家所以请小言辞
提前致谢
答案 0 :(得分:1)
您需要的只是mqadmin员工和technote
答案 1 :(得分:1)
gouda指出的technote的唯一问题是MQ将修改/更改每个复制消息的MsgId和CorrelId。
如果MsgId和/或CorrelId字段很重要,那么唯一的另一个选项是复制消息的MQ API Exit。您可能需要MQ Message Replication等商业产品。
接下来的问题是如何将消息从PROD队列移动到TEST队列?您绝对不希望在PROD队列管理器和TEST队列管理器之间创建通道。
有许多工具可以将PROD消息卸载到文件中,然后您可以将文件移动到TEST环境,然后将消息加载到TEST队列中。以下是可以执行此操作的MQ tools列表。您应该尝试的两个工具是:MQ Batch Toolkit和QLoad。
就个人而言,我会创建一个计划任务(CRONTAB),每晚午夜运行以关闭消息,我会将文件名包括日期和时间。该脚本的最后几个步骤是压缩/压缩文件并删除原始文件(因为您卸载的数据可能非常庞大)。
因此,只要您想要特定日期的PROD消息,只需将文件复制到TEST服务器并解压缩/解压缩并将其加载到队列中。