将表达式传递给tokenize()

时间:2017-03-08 22:12:28

标签: apache-camel

我有一条消耗文件并将其拆分的路线:

from("file:etc.")
.split(body().tokenize("\n", 100, false)).streaming() 

第二个参数设置为常量100.有没有办法让它保持警惕,基于文件。例如,就在我点击" split"之前我可以在标题中设置一个值,如果我可以这样做会很酷:

.split(body().tokenize("\n", simple("...pull header value..."), false))

但是,tokenize()需要一个整数,而不是表达式。

有没有一种巧妙的方法来实现我想要的:改变' group'的价值?

1 个答案:

答案 0 :(得分:3)

我没有看到你可以将表达式传递给tokenize方法。但是你可以这样做:

.split().method("mySplitterBean", "splitBody")

传递整个交换,然后您可以访问标题和属性。 在流模式pojo下查看示例; http://camel.apache.org/splitter.html