Camel 并行处理中多次阅读记录路由读取器

o0lyfsai  于 2022-11-07  发布在  Apache
关注(0)|答案(1)|浏览(113)

我有Apache Camel 路线如下:-

get("fileReaderSvc", fileReaderSvc")
.rocess(e->fileReaderSvc.init(e, ctx)
.split(body().convertToString.tokenize("/n"))
.streming()
.parallelProcessing(true)
.thread(10)
.to("direct:nextRoute")
.end();

get("nextRoute", "nextRoute")
.choice()
.when(body().startWith("HDR"))
.bean("process","processHdr")
.when(body().startsWith("REC"))
.bean("process","processRecord")
.end()

我的问题是我有一个文件,有超过1000条记录,其中只有一个以“HDR”开始。但processHdr被调用多次。看起来同步问题。看起来我多线程阅读同一记录。这段代码显示的问题大多在Linux上。请建议。
这里,fileReaderSvc从FileReaderService扩展而来,并且init和readFile调用了super. methods。

axzmvihb

axzmvihb1#

问题不在于此代码。文件移动失败,触发了多次阅读。

相关问题