Camel:Spring-DSL: атрибут 'timeout' мультивыступления из свойств

Я хочу установить атрибут таймаута в многоадресном теге из внешнего файла свойств.

Я могу без проблем использовать свойства с {{property.name}} синтаксисом в определениях uri и т. Д.

Однако использование ниже, похоже, не разрешено. Любые идеи, как обойти / правильный путь этого?

<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>

1 ответ

Решение

Чтобы использовать целочисленные свойства таким образом, ознакомьтесь с http://camel.apache.org/using-propertyplaceholder.html в разделе "Использование заполнителей свойств для любого вида атрибута в XML DSL". Вам нужно будет определить пространство имен для свойств в определении вашего проекта / пружины:

xmlns:prop="http://camel.apache.org/schema/placeholder"

тогда вы сможете ссылаться на имущество с

<multicast parallelProcessing="true"  prop:timeout="retrieve.balances.timeout">
Другие вопросы по тегам