Camel:Spring-DSL:Multicats 'timeout' 属性来自属性

Camel:Spring-DSL:Multicats 'timeout' attribute from properties

我想在外部 属性 文件的多播标记中设置超时属性。

我可以在 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>

要以这种方式使用整数属性,请查看 "Using property placeholders for any kind of attribute in the 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">