2016-10-18 5 views
0

Per this article Сервисный реестр Netflix Eureka поддерживает регистрацию именованных служб с использованием свойства spring.application.name. Например:Поддерживает ли Netflix Eureka динамически названные приложения Spring Boot?

spring.application.name=a-eureka-client 
поддержка

ли Spring-Boot/Eureka, имеющие динамические имена на основе, возможно, шаблон шаблонного типа:

spring.application.name=a-eureka-client-#### 

Таким образом, первые два экземпляра развернутые будет зарегистрирован как:

a-eureka-client-0001 
a-eureka-client-0002 
+0

Мне любопытно ... После того, как ваше приложение зарегистрировано с уникальными именами. Как вы ожидаете другого приложения, которое хочет назвать это приложение? Вы ожидаете, что другое приложение будет использовать полное имя? То, что вы просите, похоже на очень странный случай использования. –

+0

Я думаю о сценарии типа «Эластичный облако», где каждый экземпляр «a-eureka-client» поддерживает учетные записи и когда «a-eureka-client-0002» достигает емкости, запускается еще один экземпляр и регистрируется как «a- эврика-клиент-0003'. Затем 'account-deployment-manager' увидит новый и начнет назначать ему учетные записи. Когда клиенту, которому необходим доступ к учетной записи, он сначала ищет имя сервера, которое содержит учетную запись ('eureka-client-0003'), а затем ищет координаты этого экземпляра. – Ole

ответ

1

Вы можете передать spring.application.name через командную строку или переменные окружения, как показано ниже:

$ java -jar app.jar --spring.applocation.name=a-eureka-client-001

Или

$ export SPRING_APPLICATION_NAME=a-eureka-client-002

$ java -jar app.jar

В качестве альтернативы, вы можете придумать пользовательское свойство под названием my.app.suffix, инъекционные, что как свойство командной строки или переменной окружения, как показано выше, и в вашем application.properties (или YML) используйте суффикс для заполнения имени вашего приложения:

spring.application.name: a-eureka-client-${my.app.suffix:some-default}

Таким образом, вы можете поддержать случай, когда суффикс не предусмотрен, в этом случае some-default будет использоваться в качестве суффикса по умолчанию.

0

если вы используете багажник пружины, то в SRC/основные/ресурсов папке вы должны иметь дополнительные bootstrap.properties файл и строка строка ниже. Не помещайте файл application.properties.

spring.application.name=Car-Position-Tracker 

bootstrap.properties файл читается во время загрузки контекста приложения: Смотрите Справочное руководство по Спринг-облака

и быть подобран надстройку сборки плагин в POM, что на * .properties

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
     </plugin> 
    </plugins> 

    <resources> 
     <resource> 
      <filtering>true</filtering> 
      <directory>src/main/resources</directory> 
      <includes> 
       <include>*.properties</include> 
      </includes> 
     </resource>  
    </resources>   
</build> 

 Смежные вопросы

  • Нет связанных вопросов^_^