我想从外部属性文件中设置多播标记中的超时属性。
我可以在uri等定义中使用 {{property.name}} 语法而无问题属性。
但是以下使用似乎是不允许的。任何想法如何解决/纠正这种方式?
<camel:camelContext id="myCamelContext" xmlns="http://camel.apache.org/schema/spring">
<propertyPlaceholder id="korek_config" location="file:${config.path}/my-config.properties"/>
<route>
<from uri="...."/>
<multicast parallelProcessing="true"
strategyRef="balancesAggregator"
timeout="{{retrieve.balances.timeout}}">
<to uri="direct:balancesRead"/>
<bean ref="serviceBean" method="getBalances"/>
</multicast>
</route>
</camel:camelContext>
答案 0 :(得分:2)
要以这种方式使用整数属性,请在“为XML DSL中的任何类型的属性使用属性占位符”一节中查看http://camel.apache.org/using-propertyplaceholder.html。您需要为blueprint / spring定义中的属性定义命名空间:
xmlns:prop="http://camel.apache.org/schema/placeholder"
那么你应该可以用
来引用这个属性<multicast parallelProcessing="true" prop:timeout="retrieve.balances.timeout">