Невозможно прочитать свойства Spring Cloud на верблюжьих маршрутах, используя {{some property}}, хотя, если я копирую свойства вставки local, он читает - PullRequest
0 голосов
/ 17 июня 2019

Я пытаюсь прочитать свойства с сервера конфигурации 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>

Пожалуйста, укажите мне, если я что-то упустил. Я благодарен за всю помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...