Я упаковал приложение Spring Boot как файл .war, и он работает в Tomcat 7 по пути к файлу /opt/tomcat/webapps/myapp.war.Spring Boot .war в Tomcat - Могу ли я использовать внешний файл свойств?
Однако, я хотел бы использовать свойства из файла в файле /var/{filePath}/application.properties, где filePath пока неизвестен. Я прочитал Spring Boot docs, и я подозреваю, что лучший способ - использовать атрибут JNDI.
Я настроил ресурс в context.xml следующим образом:
<Resource auth="Container" type="java.lang.String" name="myProperties" url="/var/myDirectory/application.properties"/>
Правильно ли это?
И если да, то как я могу вставить эти свойства в мое приложение Spring Boot, учитывая, что это - .war?
Какие свойства? JNDI или те из файла свойств? –
@ M.Deinum те из файла свойств :) –
Просто добавьте '@ PropertySource' в свой класс конфигурации. Что указывает на 'файл:/var/{filePath}/application.properties'. Или просто используйте свойство 'spring.config.location' и зарегистрируйте это в JNDI (или SPRING_CONFIG_LOCATION), и это будет автоматически использовано Spring Boot для обнаружения' application.properties'. –