Настройка весеннего облачного клиента для многокомпонентного проекта - PullRequest
0 голосов
/ 09 июля 2019

Несмотря на то, что я успешно настроил клиент / сервер конфигурации Spring Cloud с GIT в качестве хранилища свойств сервера.Однако у меня есть основной вопрос для следующей структуры модуля (maven) для одного из моих клиентских кодов:

Клиент 1:

  common (maven module)
  app (maven module)
  web (Contains the spring boot application, bootstrap.properties, application.properties)

Для приведенной выше структуры я могу читать / обновлятьсвойства с сервера конфигурации Spring Cloud для модуля «web» (поскольку именно там находится мое SpringBootApplication), однако он не может понять, как внедрить свойства configure / inject и в другие модули, как могут быть свойства для общегоmodule или app module.

Я попытался добавить bootstrap.properties в другие модули, указав на тот же сервер конфигурации Spring Cloud.Но это не сработало.

Сервер конфигурации облака Spring Spring application.properties:

server.port = 8888

spring.cloud.config.server.git.uri =

management.security.enabled = false

bootstrap.properties веб-модуля

spring.application.name = test

spring.cloud.config.uri = http://localhost:8888

management.security.enabled = false

spring.profiles.active = default, prod

Зависимости Maven (клиент облачной конфигурации):

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
        <version>1.4.4.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
        <version>1.1.2.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>1.4.4.RELEASE</version>
    </dependency>

Пожалуйста, помогите мне понять, как я могу читать / обновлять свойства в нескольких модулях, таких как common, app или web, которые будутбыть развернутым на одном экземпляре / клиенте.

1 Ответ

0 голосов
/ 09 июля 2019

Поскольку ваши модули common и app не являются приложениями, они не будут запускаться и, следовательно, не будут читать ваши файлы bootstrap.properties.

Взгляните на type-свойства безопасной конфигурации и сторонняя конфигурация .

Ваши модули common и app могут предоставлять своим классам несколько классов.В конфигурации Java вашего модуля web вы можете установить привязку между значениями в ваших файлах bootstrap.properties и / или application.properties и классами конфигурации.Из-за аннотации @ConfigurationProperties Spring Boot будет создавать обычные компоненты этих классов конфигурации.Таким образом, вы можете внедрить свою конфигурацию так же, как и любой другой компонент.

Надеюсь, это поможет!:)

...