我正在添加一个属性,以便在运行时根据请求进行交换。
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
答案 0 :(得分:0)
啊哈!我在这里看到您正在尝试做什么。简单的表达式不适用于File2之类的轮询使用者。
如果您使用的是Camel 2.16+,则可以使用pollEnrich来获取您尝试到达此处的行为。就像
from("direct:inputFileRoute")
.pollEnrich("file:src/data?noop=true&antInclude=${exchange.filePattern}")
.log("File Pattern is: ${exchangeProperty.filePattern}");
在旁注中,您确定每次交换都必须调整antiInclude
组件上的File
选项吗?看起来有些矫kill过正,但我无法根据此处的有限输入做出判断。也许您正在寻找的是Camel Properties