我有以下形式的骆驼代码段:
<aggregate strategyRef="aggregationStrategy"
completionSize="50" completionInterval="120000">
...
</aggregate>
我正在尝试按照http://camel.apache.org/properties.html链接从属性文件中读取属性值。
目前,我已经定义了propertyPlaceholder,通过该属性,我可以通过属性为完成大小(通过端点引用)分配值;如下
<propertyPlaceholder id="properties" location="classpath:file.properties" />
<endpoint id="compSize" uri="{{completion.size}}" />
...
<aggregate strategyRef="aggregationStrategy"
completionInterval="120000">
...
<completionSize>
<simple>ref:compSize</simple>
</completionSize>
...
</aggregate>
但是如果我按照相同的程序(如<completionSize>
的那样)设置completionInterval,则会抛出错误,因为我们没有像<completionInterval>
这样的标记。
有没有办法通过属性文件动态地为completionInterval属性赋值?
答案 0 :(得分:0)
您可以将其设置为聚合器
中的动态表达式<aggregate ...>
<completionInterval>
<constant>{{somePropertyKeyHere}}</constant>
</completionInterval>
或者使用prop
命名空间来设置值,如{em>使用XML DSL中的任何属性的属性占位符部分所述3>}