如何在 Apache Camel - Esper 端点中包含多个语句?

How to include multiple statements in Apache Camel - Esper endpoint?

我有一个 Esper 语句列表,我想在 Apache Camel 流程中 运行。 我怎样才能确保对所有消息的所有语句进行评估?

是否需要为每个 Esper 语句(即 from: esper:// ...)设置单独的路由?

注意:每个语句可能会在不同的时间产生结果(例如,聚合超过 1 秒,另一个超过 5 秒,等等)。

根据documentation,每个camel路由都会启动一个单一的事件处理语句并消费结果。如果您有理由必须使用单一的骆驼路线,请制作一个执行所有所需工作的 EPL 语句(或至少选择适当的数据以便稍后在骆驼管道中进行进一步处理)。正如您所建议的,另一种方法是建立多个骆驼路线,每个路线都从具有不同 EPL 语句的 esper 组件中消耗。稍后可以使用 camel 的内部队列组件之一(seda、vm、direct 或 jms)将多条路线合并为一条路线。

有一个包含源代码的两条路线示例 here