Использование динамического имени файла в маршруте файла camel

#file #routes #apache-camel

Вопрос:

У меня проблема с чтением другого имени файла из компонента файла Camel.

 from("file:/in?fileName={{property.name}}")
    .to(file:/out)
 

Я использовал fileName={{property.name}} из application.yml, но мне нужно использовать его из строки.

Есть ли какой-нибудь способ использовать его, как:

 String name = "blabla.xml";

from("file:/in?fileName=${name}")
    .to(file:/out)
 

Ответ №1:

Верблюд этого не поддерживает. Объединение строк может решить вашу проблему:

 from("file:/in?fileName=" name) 
 

или вы можете задать свойство, а затем прочитать его:

 String name="name";
from("direct:start")
    .setProperty("name",constant(name))
    .to("file:/in?fileName=${exchangeProperty.name}");