【问题标题】:How to include multiple statements in Apache Camel - Esper endpoint?如何在 Apache Camel - Esper 端点中包含多个语句?
【发布时间】:2015-09-09 21:37:03
【问题描述】:
我有一份希望在 Apache Camel 流程中运行的 Esper 语句列表。
如何确保对所有消息的所有语句进行评估?
我是否需要为每个 Esper 语句设置单独的路由(即 from: esper:// ...)?
注意:每个语句可能在不同的时间产生结果(例如,聚合超过 1 秒,另一个超过 5 秒,等等)。
【问题讨论】:
标签:
apache-camel
fuseesb
esper
complex-event-processing
【解决方案1】:
根据documentation,每条骆驼路由都会启动一个单一的事件处理语句并消费结果。如果您有理由必须有一个单一的骆驼路线,请制作一个执行所有所需工作的 EPL 语句(或至少选择适当的数据以便稍后在骆驼管道中进行进一步处理)。正如您所建议的那样,另一种选择是建立多个骆驼路线,每个路线都使用具有不同 EPL 语句的 esper 组件。稍后可以使用骆驼的内部队列组件之一(seda、vm、direct 或 jms)将多个路由合并为单个路由。
有一个两路示例,源代码here。