Использование заполнителя свойства для определения маршрутов и контекста верблюда
Есть ли способ, где я могу сгруппировать контексты верблюда или маршруты на основе значения свойства?
Мои среды определены как -Denv="preprod", и я хочу группировать / выбирать маршруты и контексты на основе этого. Например:
Для разработчиков env:
<camel:route id="foo" >
<camel:from uri="seda:start"/>
<camel:to uri="mock:result"/>
</camel:route>
Для производства:
<camel:route id="foo" >
<camel:from uri="seda:start"/>
<camel:to uri="jmsqueue:result"/>
</camel:route>
Я использую Spring Application Context для объявления контекста Camel
2 ответа
Вы упомянули, что используете Spring, тогда вы можете использовать заполнители свойств Spring и иметь разные файлы.properties для каждой среды. А затем определить конечные точки как <endpoint>
и обратитесь к этим конечным точкам в маршруте. Смотрите этот FAQ: http://camel.apache.org/how-do-i-use-spring-property-placeholder-with-camel-xml.html
Затем необходимо настроить местозаполнитель свойства Spring, чтобы использовать системную среду -D для загрузки файла.properties для данной среды.
Вместо того, чтобы использовать заполнители Spring для управления вашими маршрутами, рассмотрите возможность управления вашей конфигурацией с помощью Camel's Properties Component [1]. Я лично предпочитаю зависеть от API Camel, а не от Spring при настройке моих маршрутов.