2016-05-03 3 views
1

В соответствии с этим github issue я могу указать местоположение файла application.properties. напримерSpring-Boot> Настройка application.properties с использованием JNDI

JNDI Окружающая среда Ресурс:

java:comp/env/spring.config.location = /some/path/application.properties 

То, что я хотел бы знать:

Могу ли я использовать связывание непосредственно настроить индивидуум JNDI application.properties значения свойства в мое приложение Spring Boot?

Я попытался следующие JNDI ВАР (но безрезультатно):

JNDI окружающей среды ресурсов:

java:comp/env/my.env.myCustomStringField = foobar 
java:comp/env/my.env.my-custom-string-field = foobar 

Spring Reference:

Если вы работаете в контейнер, то свойства JNDI (в java:comp/env) или servl et могут быть использованы параметры инициализации контекста, а также переменные среды или системные свойства.

Я в настоящее время использую the following workaround.

+0

Свойства среды и свойства приложения различны. Если вы используете Windows-машину, вы можете настроить среду «Мой компьютер» - «Щелкните правой кнопкой мыши по свойствам» -> «Расширенные настройки системы» -> «Переменные среды». Здесь вы можете определить ** глобальную переменную **, доступную для всех приложений. во-вторых, вы можете передавать параметры приложения с помощью '-Dkey = value' через командную строку, специфичную для этой программы. – Braj

ответ

0

Не уверен, что я думал, вы можете использовать JNDI для установки местоположения файла application.properties и/orr переопределить любые переменные приложения.

например.

spring.config.location = file:/some/location/properties/ 
my.env.myCustomStringField = foobar 

Не заморачиваться с java:comp/env/, Spring ограждает вас от нее.