Как установить значение для атрибута antInclude из свойства exchange в apache camel - PullRequest
0 голосов
/ 26 января 2019

Я добавляю свойство для обмена во время выполнения из запроса.

exchange.setProperty("filePattern", String.format("*%s*", routeConfig.getFilePattern()))

Позже я пытаюсь использовать свойство для атрибута antInclude, как показано ниже

file:source?readLock=changed&antInclude=${exchangeProperty.filePattern}

Код вышене работает, маршрут создан как показано ниже во время выполнения в журнале

 file://source?antInclude=%24%7BexchangeProperty.filePattern%7D&readLock=changed

1 Ответ

0 голосов
/ 27 января 2019

Aha!Я вижу, что вы пытаетесь сделать здесь.Простые выражения не будут работать таким образом с потребителем опроса, как File2 .

Если вы используете Camel 2.16+, вы можете использовать pollEnrich , чтобы получить поведение, которое вы пытаетесь получить здесь.Это было бы что-то вроде

from("direct:inputFileRoute")
                .pollEnrich("file:src/data?noop=true&antInclude=${exchange.filePattern}")
                .log("File Pattern is: ${exchangeProperty.filePattern}");

В sidenote, вы уверены, что должны настраивать опцию antiInclude компонента File для каждого обмена?Это похоже на излишество, но я не могу судить, основываясь на очень ограниченном доступе здесь.Возможно, то, что вы ищете, это Camel Properties

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...