#spring-boot #unix #tomcat9
Вопрос:
Я новичок в spring boot и tomcat. У меня есть несколько веб-приложений 3, запущенных в tomcat.
У меня есть 3 веб-приложения(весенняя загрузка), запущенные на tomcat, а именно app1, app2 и app3. В моем профиле приложения у меня есть 3 файла yaml(по одному для каждого приложения).
application-app1.yml application-app2.yml application-app3.yml
Кроме того, мое окружение настроено следующим образом:
JAVA_OPTS='-Dspring.profile.active=uat,qa,default'
В /tomcat/веб-приложении у меня есть следующие папки:
app1 app2 app3
Профили приложений выбирают внешний файл yml, когда я добавляю другие имена файлов в качестве приложения-uat.yml Но, если это произойдет, то все приложение получит один и тот же файл yml.
Мой вопрос:
Как я могу гарантировать, что определенные файлы yml будут подобраны для этого конкретного приложения?
ТИА
Ответ №1:
Вы можете указать имена внешних файлов конфигурации, настроив spring.config.additional-location
параметр в каждом WEB-INF/web.xml
файле приложений. Например, для app1 у вас может быть такая конфигурация…
lt;?xml version="1.0" encoding="UTF-8"?gt; lt;web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"gt; lt;context-paramgt; lt;param-namegt;spring.config.additional-locationlt;/param-namegt; lt;param-valuegt;file:./config/app1.ymllt;/param-valuegt; lt;/context-paramgt; lt;/web-appgt;