Apache Camel Переименуйте исходный файл, но не перемещайте его в каталог .camel

Привет, я использую Apache Camel 2.9 с Spring. Мое требование таково.

Верблюд ищет файл в определенном каталоге (например, импорт), а формат файла - это test_22-10-2015_p1.psv

После обработки файла мне нужно переименовать файл в test_22-10-2015_p1_ACK.psv и сохранить его в той же папке, не перемещая в каталог .camel.

Это возможно

заранее спасибо


person PsychoKiller    schedule 08.04.2015    source источник


Ответы (1)


Да, прочитайте документацию о компоненте файла файла, и вы можете найти опцию move.

Вы можете использовать выражение для определения имени файла, которое использует простой/файловый язык

Так что это будет что-то вроде

move=test_${file:name.noext}_ACK.${file:name.ext}

И тогда вам нужно сделать исключение, чтобы пропускать файлы, начинающиеся с test_, при перемещении файла в тот же каталог.

exclude=test_.*
person Claus Ibsen    schedule 08.04.2015
comment
Спасибо за ответ Клаус. я указываю свой URI в deployment.properties, и когда я добавляю указанный выше параметр перемещения в uri, он фактически ищет ${file:name.noext} и ${file:name.ext} в свойствах развертывания. Есть ли способ решить эту проблему. Очень ценю, спасибо - person PsychoKiller; 09.04.2015
comment
org.springframework.beans.factory.BeanDefinitionStoreException: недопустимое определение bean-компонента с именем «import.tariff.uri», определенным в null: не удалось разрешить заполнитель «file:name.noext» - person PsychoKiller; 09.04.2015
comment
Неважно, я могу использовать $simple, чтобы избежать столкновения. Большое спасибо Клаус - person PsychoKiller; 09.04.2015