Apache Camel聚合器与onCompletion结合使用

时间:2016-07-16 18:59:43

标签: apache-camel

我希望在完成大小后跟超时触发的所有聚合交换后处理onCompletion。但它是在触发完成大小之后发生的,其中一些交换等待由超时标准触发。

1 个答案:

答案 0 :(得分:0)

我将路线配置为

从(fromEndPoint)     。在结束的时候()     。做一点事()     .split()//每一行     .streaming()     。并行处理()     .unmarshal()。bindy     。骨料()     .completionSize(100)     .completionTimeout(5000)     。为了(toEndpoint)

假设如果拆分是在405行完成的,那么前4组聚合交换将转到终点,完成400行(交换)。然后,它会立即触发onCompletion。但是,当满足completionTimeout标准时,仍会有5个聚合交换将被触发。在5个交换路由到端点之后,它没有触发onCompletion。

我的问题是,要么每次交换都要触发onCompletion,要么就是一次。

注意: - 我的端点是文件。