Apache Camel - 属性,标题或其他知道特定路由完成文件处理的东西

时间:2016-11-08 22:06:30

标签: apache-camel

我对Apache Camel有一个典型的任务:

from(properties.get(EVN.getFolderProperty()))
    .onCompletion()
        .log("Done")
        .end()
    .log("Start")
    .split().tokenizeXML("Test")
        .streaming()
    .bean(xmlProcessor, "processOneRecord")
    .aggregate(exchangeProperty("Some key"), xmlAggregationStrategy).copletionSize(100)
    .bean(resultProcessor, "appendToResult");

所以我不想使用简单的完成策略之一 - 超时,大小。 相反 - 我需要一些状态变量,标题,属性在somthng中使用:

        .aggregate(exchangeProperty("Some key"), xmlAggregationStrategy).completionPredicate("routeIsFinishFileProcessing" == true)
    .bean(resultProcessor, "appendToResult");

1 个答案:

答案 0 :(得分:0)

尝试使用simple表达式,.completionPredicate(simple("${property.routeIsFinishFileProcessing == true}")

注意:您必须在需要时将property.routeIsFinishFileProcessing设置为true