2014-09-05 1 views
1

Я пытаюсь передать файлы с использованием IBM Websphere MQ FTE с параметром -b (совпадение на задание). Я думал, что с помощью этого параметра будут разделены общие файлы, перенесенные на несколько задач, в соответствии с его значением. Например. Я использовал «-bs 10» и пытался передать 16 файлов. Результатом должно быть две отдельные передачи: одна с 10 файлами, вторая с 6 файлами. Я прав? Но для меня результат - все 16 файлов в одной передаче/задаче: /.Использование параметра -bs (размер партии, совпадений для каждой задачи) в передаче IBM MQ FTE

Как указано в документации IBM: задав размер партии монитора ресурсов (скажем, до 100), монитор ресурсов создаст новую передачу для каждых 100 файлов, которые она сопоставила. Таким образом, с 1000 файлами .txt вы получите только 10 новых передач.

Я использовал эти команды для создания передачи.

fteCreateTransfer -sa AGENT1 -sm TQM.FTE -da AGENT2 -dm TQM.FTE -dd /var/MQFTE/test -de overwrite -sd delete -gt /var/IBM/WMQFTE/config/TQM.FTE/FTE_TEST.xml c:\\workspace\\FTE_tests\\IN\\*.xml 

fteCreateMonitor -ma AGENT1 -mn FTE_TEST_MONITOR -md c:\\workspace\\FTE_tests -mt /var/IBM/WMQFTE/config/TQM.FTE/FTE_TEST.xml -tr match,test.run -pi 30 -pu seconds -f -c -bs 10. 

Любые предложения? Благодаря!

ответ

1

Ваше понимание верное, но проблема заключается в том, что в вашем XML-шаблоне перевода вы передаете исходные файлы «* .xml», которые являются шаблонами подстановочных знаков, и вы соответствуете только одному файлу триггера «test». бег".

Похоже, вы хотите перенести файлы, на которые вы сравниваете, так как вы не знаете их заранее.

Ваш монитор ресурсов ресурсов WebSphere MQ FTE будет запускать x количество раз в опросе, где x - количество файлов, которые у вас есть в каталоге, соответствуют шаблону триггера. Затем они будут перенесены на несколько передач x/batchSize.

Поскольку вы используете только один файл, «test.run», монитор ресурсов запускается один раз. Когда агент WebSphere MQ FTE обрабатывает один управляемый запрос на передачу, вы сказали ему искать любые файлы, оканчивающиеся на .XML, поэтому он переносит все из них.

Загляните в Информационный центр «Настройка задач с заменой переменных» и используйте эту функциональность в XML-файле вашего шаблона переноса.

В основном вы можете в своей первой команде (fteCreateTransfer) сменить «c: \ workspace \ FTE_tests \ IN \ *. Xml» на «c: \ workspace \ FTE_tests \ IN \ $ {fileName}», а затем изменить вторая команда (fteCreateMonitor) для мониторинга в том же каталоге «c: \ workspace \ FTE_tests \ IN» и соответствует «* .xml».

Когда монитор ресурсов запускается, он заменит $ {имя_файла} на имя одного файла, для которого он вызвал один, и повторит это число х, так как оно будет вызываться на каждом файле, заканчивающемся на .xml. Если есть 16 файлов, он будет делать это 16 раз.

Основываясь на информации, которую вы указали, я думаю, что она даст вам поведение, которое вы хотите.

Другие вопросы или разъяснения, которые вам нужны, не стесняйтесь спрашивать.

Hi Miroslav, я не могу комментировать, поэтому я немного добавлю здесь, чтобы ответить на ваш комментарий.

Я рад, что предложенные изменения дали вам поведение, которое вы ожидали. В действительности не известно точное имя файла для передачи является общим, но, используя подстановочные знаки и определенные соглашения об именах, вы можете надеяться настроить монитор ресурсов WebSphere MQ FTE, чтобы дать нужное вам поведение.

При использовании файла триггера определенного имени, например «test.run», монитор ресурсов ищет файл только для этого, поэтому ничего не будет знать о каких-либо других файлах, заканчивающихся на .xml, например. Следовательно, почему пакетная обработка работает только с файлами, которые запускает/сопоставляет монитор ресурсов. Помните, что опция -bs в команде fteCreateMonitor предназначена для «совпадений для каждой задачи», как определено на странице Infocenter для этой команды. Поэтому в вашем втором случае ожидается поведение, которое вы видите.

Надеюсь, это поможет!

+0

Спасибо за ответ! Частично успех. Я смог перенести все 15 (10 и 5) XML-файлов в две отдельные задачи, когда триггер был * .XML, добавив {FileName}. Но когда триггер по-прежнему остается единственным экземпляром файла test.run с добавлением {FileName}, очевидно, что он передаёт только test.run. Первый случай (trigger = * .xml, transfer * .xml) более важен для меня, поэтому СПАСИБО !!! Но мне любопытно, что о втором случае (trigger = test.run, transfer * .xml). BTW IMHO, не зная точное имя файла, которое я хочу передать заранее, очень распространено, не так ли ?. –

 Смежные вопросы

  • Нет связанных вопросов^_^