Использование индекса приложения весны - PullRequest
4 голосов
/ 16 мая 2019

Может кто-нибудь уточнить, для чего используется свойство spring.application.index и зачем оно нам нужно?

Application.yml:

spring:
    application:
        name: ServiceName
        index: 

Ответы [ 2 ]

4 голосов
/ 16 мая 2019

Насколько я вижу, spring.application.index считается устаревшим с версии 2.0.0.RC1.Я сравниваю следующие приложения:

Предыдущее утверждение подтверждается проверкой исходных кодов ContextIdApplicationContextInitializer в следующих версиях:

  • Версия 2.0.0.M7 ContextIdApplicationContextInitializer .Эти версии предоставляют больше возможностей для настройки индекса приложения, используемого для создания ApplicationContextID.

    /**
     * Placeholder pattern to resolve for application index. The following order is used
     * to find the name:
     * <ul>
     * <li>{@code vcap.application.instance_index}</li>
     * <li>{@code spring.application.index}</li>
     * <li>{@code server.port}</li>
     * <li>{@code PORT}</li>
     * </ul>
     * This order favors a platform defined index over any user defined value.
     */`"${vcap.application.instance_index:${spring.application.index:${server.port:${PORT:null}}}}"`
    
  • Версия 2.0.0.RC1 ContextIdApplicationContextInitializer .Может быть найдено, что индекс увеличивается с использованием автоматически, используя AtomicLong, что также обеспечивает его уникальность.Смотрите внутренний ContextIdApplicationContextInitializer$ContextId класс для более подробной информации в источнике.Ключевым методом является его конструктор:

    ContextId createChildId() {
        return new ContextId(this.id + "-" + this.children.incrementAndGet());
    }
    
1 голос
/ 16 мая 2019

Вы можете найти это свойство в Источники весны :

private static final String INDEX_PATTERN = 
"${vcap.application.instance_index:${spring.application.index:${server.port:${PORT:null}}}}";

Как сказано в Javadoc этого класса, он используется для создания ApplicationContextID, который является уникальным идентификатором контекста приложения.

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