我有一个带有“* .txt”作为触发条件的 fte 监视器,每当一个文本文件到达源 fte 传输文件到目标时,但是当 10 个文件一次到达源时,fte 会同时触发 10 个传输请求和所有传输正在排队和卡住。
请建议如何处理这种情况
我有一个带有“* .txt”作为触发条件的 fte 监视器,每当一个文本文件到达源 fte 传输文件到目标时,但是当 10 个文件一次到达源时,fte 会同时触发 10 个传输请求和所有传输正在排队和卡住。
请建议如何处理这种情况
好的,我刚刚测试了这个案例:
当它们出现在该目录中时,我想从目录中传输四个 *.xml 文件。所以我将监视器设置为 *.xml 并将传输模式设置为 *.xml(请参阅下面的命令)。
使用以下命令创建:
fteCreateTransfer -sa AGENT1 -sm QM.FTE -da AGENT2 -dm QM.FTE -dd c:\\workspace\\FTE_tests\\OUT -de overwrite -sd delete -gt /var/IBM/WMQFTE/config/QM.FTE/FTE_TEST_TRANSFER.xml c:\\workspace\\FTE_tests\\IN\\*.xml
fteCreateMonitor -ma AGENT1 -mn FTE_TEST_TRANSFER -md c:\\workspace\\FTE_tests\\IN -mt /var/IBM/WMQFTE/config/TQM.FTE/FTE_TEST_TRANSFER.xml -tr match,*.xml
根据配置更改,我得到了三种不同的结果:
好吧,使用文件到文件的传输类型,最终状态实际上是好的 - 目标目录中有四个文件,因为之前的文件被覆盖了。但是使用 File to Queue 我在目标队列中收到了 16 条消息。
因此,总而言之,我传输的文件总数(16)与第一个结果相同。甚至没有删除源文件。
所以我只能通过这个设置得到预期的结果。但我仍然不确定将 monitorMaxResourcesInPoll 参数设置为“1”是否合适。
monitorMaxResourcesInPoll=1
到 agent.properties。但这与此处发布的其他答案相冲突,所以我现在有点困惑。
在版本 7.0.4.4 上测试
选中“在一个轮询间隔内找到多个触发文件时将文件传输批处理”框(屏幕三)。
确保将 agent.properties 文件中的 maxFilesForTransfer 设置为对您来说足够大的值,但要小心,因为这会影响所有传输。
您还可以在 agent.properties 文件中设置 monitorMaxResourcesInPoll=1。我不建议这样做有两个原因:1)它会影响所有监视器 2)它可能会导致您永远无法赶上您必须传输的所有文件,具体取决于您的音量和轮询间隔。
将您的“批量文件传输...”设置为大于 10 的值:
Max Batch Size = 100