java Apache Camel :在拆分期间创建的属性在拆分后丢失

wf82jlnq  于 2023-02-02  发布在  Java
关注(0)|答案(1)|浏览(106)

我有点纠结于在拆分阶段创建的丢失的交换属性(我需要在拆分后使用它们)。
所以基本上

from(MY_ROUTE)
    .routeId(MY_ROUTE_ID)
    .to(PREPARE_ADDITIONAL_PROPERTIES_ROUTE)
    .process(myProcessor)
    ...

from(PREPARE_ADDITIONAL_PROPERTIES_ROUTE)
    .routeId(PREPARE_ADDITIONAL_PROPERTIES_ROUTE_ID)
    .split(several_elements_to_split).streaming()
        .to(CREATE_SOME_PROPERTIES_ROUTE)
    .end();

我试图实现的是处理我在myProcessor中设置为路由CREATE_SOME_PROPERTIES_ROUTE中的交换属性的数据(一些对象),但这些属性在脱离分阶段后丢失/缺失。
有没有办法恢复myProcessor中的属性?或者避免在拆分后丢失它们?
先谢了。

dgtucam1

dgtucam11#

就像在评论中提到的,你需要使用一个Aggregator。当拆分时,Camel基本上会创建新的消息和新的交换,所以在拆分中设置属性或头不会在拆分结束时工作单元终止时继续。

相关问题