Использование заполнителя свойства для определения маршрутов и контекста верблюда

Есть ли способ, где я могу сгруппировать контексты верблюда или маршруты на основе значения свойства?

Мои среды определены как -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 при настройке моих маршрутов.

[1] http://camel.apache.org/properties.html

Другие вопросы по тегам