Я пытаюсь прочитать свойства с сервера конфигурации Spring Cloud. Свойства отлично читаются с сервера, и я также могу читать их в заполнителях Spring как $ {}, но маршруты верблюдов не могут прочитать их и выдают ошибку ниже
org.apache.camel.RuntimeCamelException: java.lang.IllegalArgumentException: свойство с ключом [some.property] не найдено в свойствах из текста: {{some.property}}
Я создал контекст как показано ниже для маршрутов в camel-cotext.xml и импортирован в applicationContext.xml,
// Здесь, в поле значения ниже, если я обновлю classpath: application - $ {ENV} .properties, у которого есть все свойства, скопированные из весеннего облака, он читает его очень хорошо. Проблема только в том, что я пытаюсь прочитать его из облачного репо.
<bean id="properties" class="org.apache.camel.component.properties.PropertiesComponent">
<property name="location" value="classpath:bootstrap-${ENV}.yml"/>
</bean>
<camel:camelContext id="mobile-key-context" xmlns="http://camel.apache.org/schema/spring"
streamCache="true">
<camel:contextScan/>
<route id="jetty.http.mobilekey.route.id">
<from uri="{{some.property}}"/>
<from uri="{{some.another.property}}"/>
<to uri="direct:cxfMobileKeyServiceCall"/>
</route>
</camel:camelContext>
У меня есть bootstrap.yml, который указывает на bootstrap - $ {ENV} .yml и извлекает облачные конфигурации, как показано ниже,
bootstrap.yml
Сервер:
contextPath: / xyz
порт: 8080
весна:
приложение:
имя: x-y-z
облако:
конфигурации:
этикетка:
MVC:
throw-exception-if-no-handler-found: true
профили:
активный: $ {ENV}
обслуживание:
имя: XYZ
зашифровать:
ошибка при ошибке: ложь
Приложение:
пинг:
Ответ: Сервер Up
* * Самозагрузки тысячи двадцать-одина-ENV.yml
весна:
облако:
конфигурации:
URI: CloudServerHost: PortNbr / конфигурация
В pom.xml я добавил ниже зависимости,
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
<version>1.4.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
<version>${camel.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-context</artifactId>
<version>2.20.2</version>
<!-- use the same version as your Camel core version -->
</dependency>
Пожалуйста, укажите мне, если я что-то упустил. Я благодарен за всю помощь.