【发布时间】:2018-10-26 03:40:48
【问题描述】:
我正在根据某些条件动态构建路线。例如,根据配置,from 路由可以是quartz2 或文件组件。 路线的所有其他部分都相同。
文件组件路径
from(file://E:/Camel)
.setProperty("fileName", simple("${file:onlyname}"))
.process(camelprocessor)
.to(queue)
.log("Posted message to Queue");
Quartz2 组件路由
from(quartz2://schedulername?cron=0+0/5+12-18+?+*+MON)
.pollEnrich(file://E:/Camel)
.setProperty("fileName", simple("${file:onlyname}"))
.process(camelprocessor)
.to(queue)
.log("Posted message to Queue");
正如您在上面的路线中看到的,两条路线的最后四行是相同的。 目前,我们正在通过direct组件将路由的from部分(timer或quartz2组件)连接到common route。
这是正确的方法吗?如果我们使用直接组件会不会有任何性能问题?
我们正在考虑的其他选择是:
- 在两条路线中复制路线的公共部分。
- 使用基于内容的路由,但不确定如何使用条件 来自组件本身。
感谢您对上述内容的任何建议。
【问题讨论】:
标签: java apache-camel quartz-scheduler