首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >流时我可以依赖CamelSplitComplete吗?

问流时我可以依赖CamelSplitComplete吗?
EN

Stack Overflow用户
提问于 2016-12-30 21:35:01
回答 1查看 1.2K关注 0票数 0

我们有一个处理大文件的过程。我们使用的是拆分器和streaming()。

文档说

如果启用了流,那么Camel将以流式方式拆分,这意味着它将将输入消息分割成块。这减少了内存开销。例如,如果您拆分大消息,它建议启用流。如果启用流,则子消息回复将被按顺序进行聚合(如按返回顺序排列)。如果禁用,骆驼将处理子消息答复的顺序与他们分裂的地方。

所以我知道交易所可能会被无序地聚集起来。那么,拆分器是否将其处理的最后一个交换标记为CamelSplitComplete设置为true?如果是这样的话,那么它可能会被按顺序进行聚合,在聚合所有消息之前,我将考虑完成我的聚合。这将导致数据丢失。

如果它只在知道它是最后一个被聚合的交换CamelSplitComplete时才标记它,那么我相信我可以依赖它。

更新:假设在上述情况下依赖CamelSplitComplete是安全的,那么如果我的路由进行过滤,那么依赖它安全吗?我认为没有,因为最后一行可能与筛选条件匹配并被删除。

EN

回答 1

Stack Overflow用户

发布于 2017-01-03 08:12:15

我已经使用流对大文件进行了拆分,并且在拆分完成后,我使用了CamelSplitComplete属性进行了一些处理。所以是的,你可以依赖它作为最后的交换。当然,最好有一个骆驼单元测试来验证测试。但它对我有效。我不能说过滤器,因为如果你过滤掉最后一次交换怎么办?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41402966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档