我試圖在我的路線上運行一個onCompletion()
區塊,其中包含一個帶有completionTimeout
的聚合定義。看起來好像onCompletion
在路由實際完成之前調用,因爲我在AggregateTimeoutChecker
日誌條目之前從OnCompletion
獲取日誌條目。onComplete and aggregate with completionTimeout
如何讓onComplete
等待聚合超時?
當然,我可以在onCompletion上添加大於completionTimeout的延遲,但這會使我的測試變慢。
我的路線是這樣的:
from(fileEndpoint)
.bean(externalLogger, "start")
.onCompletion()
.bean(externalLogger, "end") // <-- Gets called too early
.end()
.split().tokenize("\n")
.bean(MyBean.class)
.aggregate(header("CamelFileName"), ...)
.completionSize(size)
.completionTimeout(500)
.bean(AggregatesProcessor.class); // <-- some changes here don't arrive
// at onCompletion