这是我在这里找到解决我遇到的最近问题的第一篇文章。我在向"组"分配属性(键)值时遇到问题。 tokenize元素中的值。我们有属性占位符,我们需要读取要从配置文件中读取的值,因为此限制可能会更改。我们使用Property Placeholder尝试了任何类型的属性,如here所述,但它因无法识别的属性错误而失败。
正在使用的Camel版本是带有Spring DSL的2.15.1.redhat-621084,代码如下所示。如果需要更多详细信息,请告知我们。
<split>
<tokenize token="\n" group="7000"/>
...
&#13;
我们只想要上面的&#34;组&#34;值可配置。对此或快速解决方法的任何帮助都非常感谢。
提前致谢, Shanks
答案 0 :(得分:0)
我也无法找到配置组值的方法。所以创建这个奇怪的解决方法。也许它会对你有帮助。
<route>
<from uri="timer:foo?repeatCount=1"/>
<setBody>
<constant>123;321;444;555;666;777</constant>
</setBody>
<setHeader headerName="tokenizeGroup">
<simple>properties-location:group</simple>
</setHeader>
<split>
<method bean="rt" method="createIterable"/>
<log message="Tokenized: ${body}"/>
</split>
</route>
方法createIterable如下所示:
public Object createIterable(@Header("tokenizeGroup") int group, Exchange exchange){
TokenizerExpression tokenizer = new TokenizerExpression();
tokenizer.setGroup(group);
tokenizer.setToken(";");
Expression expression = tokenizer.createExpression(exchange.getContext());
return expression.evaluate(exchange,Object.class);
}