如何处理FTE排队转移

时间:2013-08-30 16:09:57

标签: websphere-mq-fte

我有一个带有'* .txt'作为触发条件的fte监视器,只要文本文件落在源fte传输文件到目的地,但是当10个文件一次落在源头时,fte同时触发10个传输请求和放大器;所有转账都排队等候卡住。

请建议如何处理这种情况

3 个答案:

答案 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

根据配置更改,我得到了三种不同的结果:

1)就像命令一样,默认agent.properties:

    传输日志中的
  1. 出现了4次传输
  2. 所有4次传输尝试传输所有四个XML文件
  3. 其中3个部分成功,因为代理无法删除源文件
  4. 成功转移所有文件并删除所有源文件
  5. 好吧,使用传输类型File to File,最终状态实际上是正常的 - 目标目录中有四个文件,因为前一个文件被覆盖了。但是使用File to Queue,我在目标队列中收到了16条消息。

    2)使用参数“-bs 100”修改fteCreateMonitor命令,默认agent.properties:

    1. 在转移日志中,只有一次转移
    2. 此转移带有部分成功结果
    3. 此转移尝试传输16个文件(每个XML四次)
    4. 代理无法删除任何文件,因此源文件仍保留在源目录
    5. 总而言之,我获得的转移文件总数(16)与第一个结果相同。甚至没有删除源文件。

      3)就像命令一样,使用参数“monitorMaxResourcesInPoll = 1”修改了agent.properties:

      1. 在转移日志中,只有一次转移
      2. 此转移成功结果
      3. 此转移尝试传输四个文件并成功
      4. 代理能够删除所有源文件
      5. 所以我只能通过此设置获得预期结果。但我仍然不确定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