我有一个带有'* .txt'作为触发条件的fte监视器,只要文本文件落在源fte传输文件到目的地,但是当10个文件一次落在源头时,fte同时触发10个传输请求和放大器;所有转账都排队等候卡住。
请建议如何处理这种情况
答案 0 :(得分:2)
好的,我刚刚测试了这个案例:
我想在目录中出现四个* .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 File,最终状态实际上是正常的 - 目标目录中有四个文件,因为前一个文件被覆盖了。但是使用File to Queue,我在目标队列中收到了16条消息。
总而言之,我获得的转移文件总数(16)与第一个结果相同。甚至没有删除源文件。
所以我只能通过此设置获得预期结果。但我仍然不确定monitorMaxResourcesInPoll参数设置为“1”的适当性。
monitorMaxResourcesInPoll=1
到agent.properties。但这与此处发布的其他答案相冲突,所以我现在有点困惑。
在7.0.4.4版本上测试
答案 1 :(得分:1)
选中“在一个轮询间隔中找到多个触发器文件时一起批量传输文件”复选框(屏幕三)。
确保将agent.properties文件中的maxFilesForTransfer设置为足够大的值,但要小心,因为这会影响所有传输。
您还可以在agent.properties文件中设置monitorMaxResourcesInPoll = 1。我不建议这样做有两个原因:1)它会影响所有显示器2)它可能会使你无法赶上你必须传输的所有文件,具体取决于你的音量和轮询间隔。
答案 2 :(得分:0)
将“批量合并文件传输...”设置为大于10的值:
Max Batch Size = 100