Получение имени файла без расширения: верблюд - PullRequest
0 голосов
/ 04 мая 2018

У меня есть заголовок с именем файла с таким расширением

<setHeader> <simple>Test.txt</simple> </setHeader>

Мне нужно выбрать только имя файла, т.е. Тестируй один в другом заголовке. Может ли кто-нибудь помочь мне достичь этого.

Спасибо.

1 Ответ

0 голосов
/ 04 мая 2018

У вас есть несколько вариантов. Примеры берут полное имя файла из заголовка и записывают имя файла без расширения в другой заголовок.

Вы пишете Java Bean, чтобы использовать всю мощь Java (например, Apache Commons FilenameUtils.getBaseName) и вызываете его из своего маршрута. См. эту документацию Camel , как ввести значения заголовков в ваши bean-методы. В маршруте вы называете боб следующим образом

.setHeader("filename", method(beanReference, "methodName"))

Или вы добавляете camel-groovy в свои зависимости, чтобы получить больше возможностей для сценариев, чем в Camel Simple. Тогда вы можете сделать это прямо на верблюде маршрут

setHeader("filename").groovy("request.headers.get('fullFilename')
    .take(request.headers.get('fullFilename').lastIndexOf('.'))")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...