#apache-camel #jbossfuse
#apache-camel #jbossfuse
Вопрос:
Здесь новичок в Fuse / Camel. Я пытаюсь автоматизировать ручной процесс, при котором .done
файлы загружаются с FTP-хоста, затем переименовываются "fileout.txt"
, и, наконец, для этого файла выполняется программа AS / 400.
Однако у отдела, на котором размещена AS/400
программа, нет ресурсов для обновления своих программ. Решение, над которым я работаю, заключается в том, чтобы заставить Camel загружать по одному файлу за раз, сохранять его как "fileout.txt"
, затем запускать программу JT400 для его обработки. По отдельности эти шаги работают, но у меня остается одна проблема.
Я молю вас, дорогой читатель, помочь мне в «Как я могу остановить Camel после загрузки всего одного файла?» (поскольку перезапись, добавление или загрузка нескольких файлов на следующем шаге не будут работать) «.
Комментарии:
1. Не могли бы вы добавить то, что вы пробовали до сих пор, и быть более конкретными с тем, что вы пытаетесь запросить.
2. Пробовал использовать fileexists = fail для записи одного и отмены остальных, но это не приводит к удалению файла с FTP. Пытался вычислить регулярное выражение для выбора только одного файла, но я не думаю, что они могут сравнивать от файла к файлу. Пытался разобраться с seda в sequence, но я не уверен, что это соответствует потребностям, и на первый взгляд это не имеет особого смысла для меня.
3. Слава богу, это сработало. Спасибо, HK!
Ответ №1:
Как я могу остановить Camel после загрузки всего одного файла?
Вы можете установить следующие параметры в FTP consumer
maxMessagesPerPoll=1
(Ограничить количество сообщений, загружаемых за один пакет)delay=500000
(Увеличивайте интервал времени между каждым опросом, чтобы у вас было время остановить маршрут)
Затем ваш ftp-маршрут может инициировать отправку асинхронного сообщения (возможно, компонента прослушивания) на другой маршрут, чтобы вызвать компонент controlBus для остановки ftp-маршрута по идентификатору маршрута.
Я пытаюсь автоматизировать ручной процесс, при котором
.done
файлы загружаются с FTP-хоста, затем переименовываютсяfileout.txt
и, наконец, для этого файла выполняется программа AS / 400
Кроме остановки / запуска вашего маршрута, вы можете попробовать компонент, обогащенный пыльцой, с использованием FTP. Используя pollEnrich, вы можете при необходимости один раз запустить FTP consumer, если вам уже известно имя целевого файла.