骆驼路线 - 过滤除第一条消息以外的所有消息
Camel route - Filter all but first message
我可以过滤消息以便只转发具有给定相关表达式的消息吗?
我有来自不同设备的消息流。我想保留一个 SQL table 和所有已经遇到的设备。
简单的方法是将所有消息路由到带有插入语句的 sql 组件。但这会给数据库带来不必要的负载,因为设备发送频率很高。
我目前的解决方案是使用一个 java 谓词,在上次重启后第一次遇到设备 ID 时 returns 为真。
这可行,但我想看看我是否可以用骆驼机载方法替换它 - 可能使路线更容易理解。
有没有什么方法可以使用聚合来仅传递具有给定相关值的第一条消息?
Camel idempotent consumer 正是这样做的。
借助已处理消息的存储库,它会丢弃具有相同标识特征的任何其他消息。
只要消息传递具有 at-least-once 语义,这就非常方便。
我可以过滤消息以便只转发具有给定相关表达式的消息吗?
我有来自不同设备的消息流。我想保留一个 SQL table 和所有已经遇到的设备。
简单的方法是将所有消息路由到带有插入语句的 sql 组件。但这会给数据库带来不必要的负载,因为设备发送频率很高。
我目前的解决方案是使用一个 java 谓词,在上次重启后第一次遇到设备 ID 时 returns 为真。
这可行,但我想看看我是否可以用骆驼机载方法替换它 - 可能使路线更容易理解。
有没有什么方法可以使用聚合来仅传递具有给定相关值的第一条消息?
Camel idempotent consumer 正是这样做的。
借助已处理消息的存储库,它会丢弃具有相同标识特征的任何其他消息。
只要消息传递具有 at-least-once 语义,这就非常方便。