为什么MQFTE监视器不支持队列到队列的传输?我为队列设置了一个监视器,当任何消息在队列中被丢弃时,必须触发从队列到队列的传输。但是MQFTE没有这个选项。还有别的办法吗?
我真的不能像写的那样回答问题。"为什么"它是这样工作的。我只能推测,因为FTE是为了移动文件而写的,所以队列到文件和文件到队列中的文件名元数据和语义在队列到队列中没有意义。
你能做的就是详细地写出你的用例,并提交一个正式的需求。那么至少你有机会在未来的版本中看到这些功能。
与此同时,你所做的听起来像是一个触发的工作。WMQ能够在消息到达时触发外部进程。考虑到您的需求,我将触发一个ANT作业,以便在消息到达队列时启动传输。如果队列到队列的传输需要记录在FTE日志中,那么处理流将是这样的:
- 消息到达队列
- 触发监视器启动作业
- 作业浏览队列上的消息
- 作业将消息ID传递给ANT任务
- ANT任务移动文件。
- 传输前或传输后任务使用SupportPac MA01根据MsgID在队列中移动消息。
- 触发程序循环队列中的任何消息,并为每个消息启动单独的ANT任务,直到队列为空。
如果队列到队列的传输不需要记录在FTE日志中,则流程将类似,只是被触发的作业将使用消息并将其直接移动,而不是将其传递给ANT任务。