我有一个 MQFTE 设置,我们在其中接收来自外部供应商的文件。这些文件被转储到 DMZ 中的服务器上,我们有一个 MQFTE 代理,它从该服务器中挑选文件并放到我们的服务器上。
我们以“集合”的形式接收文件,即每个传入文件都有一个关联的 xml 文件,该文件描述并包含有关文件的元数据。例如 applicationform.pdf 和 applicationform.xml。最终的应用程序根据 xml 中的数据/元数据存储 pdf 文件。
由于每个传入文件都会触发触发器,因此我们在触发器中检查我们是否收到了 XML 文件和内容文件(例如 PDF)。
但是,我认为这不是最好的方法,因为当两个文件同时到达时,它会添加大量预订代码来检查并发问题。有没有办法:
- 限制触发器,使其仅在两个文件都到达时触发?在我的研究中这是不可能的。
- 在服务器上配置代理,使其一次只接收一个文件?查看文档,似乎可以实现,但只能在发起转移的代理上,而不是在接收转移的代理上?文档提示 monitorMaxResourcesInPoll 和 -bs 参数,但我猜这将在源代理上。由于代理与多个系统共享,这也会影响它们。
此外,我将不胜感激任何提示和建议,甚至是最能满足要求的替代解决方案。