У вас есть несколько вариантов. Примеры берут полное имя файла из заголовка и записывают имя файла без расширения в другой заголовок.
Вы пишете 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('.'))")