В файле свойств определен тест переменной:
test=OLD_VALUE
В следующем определении Spring-DSL определен верблюжий маршрут.Свойства загружаются через PropertiesComponent.
<bean id="properties" class="org.apache.camel.component.properties.PropertiesComponent">
<property name="cache" value="false"/>
<property name="location" value="classpath:res.properties"/>
</bean>
<camelContext id="ctx" xmlns="http://camel.apache.org/schema/spring">
<route id="toParamRoute">
<from uri="servlet:myParam"/>
HERE I WOULD LIKE TO SET THE
VARIABLE TEST WITH A NEW VALUE,
SUCH THAT THE FOLLOWING LOG MESSAGE
WILL PRINT THE NEW VALUE,
E.G: test=NEW_VALUE
<log message="{{test}}"/>
</route>
</camelContext>
Я пробовал другой подход, используя groovy, выражение языкового скрипта, внешний пружинный бин, но безуспешно.Есть ли способ установить и изменить значение переменной, загружаемой при запуске?Каков наилучший способ сделать это?
Кто-нибудь может мне помочь?Я не нашел подобного вопроса на stackoverflow!Проблема, с которой я сталкиваюсь, и решение, которое я ищу, является основным строительным блоком для создания консоли управления веб-интерфейсом, чтобы изменить некоторые маршруты на лету.Чтобы упростить процесс, я могу сказать, что после того, как propertyPlaceholder загрузит файл свойств, через веб-страницу пользовательского интерфейса можно изменить параметры маршрутов по умолчанию и только после запуска маршрута.