我正在根据某些条件动态构建路线。例如,基于配置,起始路径可以是quartz2或文件组件。 路线的所有其他部分都相同。
文件组件路由
<select name="fm_multiple" multiple="">
<option value="One">One</option>
<option value="Two">Two</option>
<option value="Three" SELECTED>Three</option>
<option value=""></option>
</select>
Quartz2组件路由
from(file://E:/Camel)
.setProperty("fileName", simple("${file:onlyname}"))
.process(camelprocessor)
.to(queue)
.log("Posted message to Queue");
如您在上述路线中看到的,两条路线的最后四行相同。 当前,我们在直接组件的帮助下将路由的一部分(计时器或石英2组件)连接到通用路由。
这是正确的方法吗?如果使用直接组件,会不会有性能问题?
我们正在考虑的其他选择是:
对于上述建议,我表示感谢。
答案 0 :(得分:1)
您可以按照说明添加直接组件并从通用路由进行呼叫。就我所知,我建议不要使用花粉。
由于使用pollenrich,您无法一次处理所有文件(例如,pollenrich一次可以处理10个实例)。如果您需要处理10个以上的文件,则不需要。
而不是在路径中使用石英和文件组件。您可以像这样将两者加为一个端点,
<from uri="file://pathto//yourfile?scheduler=quartz2&antInclude=*.xml&scheduler.cron={{schedularName.Scheduler}}"/>
希望对您有帮助。