0
我有一個關於split(),resequence()與多線程一起集成的問題。我的(幼稚)路由看起來像這樣(簡稱說明問題):Apache Camel:在多線程中使用split()和resequence()
from("file:input")
.process(prioAssign)
.split(body().tokenize("\n")).streaming()
.resequence().simple("${in.header.prio}").allowDuplicates().reverse()
.to("direct:process")
.end()
.process(exportProcessor)
from("direct:process")
.threads(10, 100, "process")
.process(importProcessor) // take some time for processing
我想做到以下幾點:
- 的importProcessor工作應在多個線程分配
- (來自分離器)應該被優先處理(重新排序)
- 當處理所有分割對象時(從一個文件),必須觸發exportProcessor
上面的代碼的問題是,如果我包含重新排序步驟,導出立即觸發,重新排序本身不起作用。看來,我不明白駱駝背後的線程模型。
非常感謝所有提示!