Этот документ указывает, что вы можете установить свойство spring.profiles.active в WebApplicationInitializer для каждого веб-приложения. Каждое приложение может затем прочитать свое собственное имя с определенным именем из системных свойств. В качестве альтернативы, если вы используете Liberty (вопрос не указывается между традиционным WebSphere и Liberty), то вы можете использовать MicroProfile Config для определения свойства с общим именем, которое определяется по-разному для приложения через appProperties, например, как показано в thisстатья центра знаний . Но вам все равно потребуется WebApplicationInitializer, чтобы считывать значение из MicroProfile Config .
Примером может быть что-то вроде следующего:
Config config = ConfigProvider.getConfig();
servletContext.setInitParameter(
"spring.profiles.active",
config.getValue("ProfilesActive", String.class));
server.xml:
<server>
<featureManager>
<feature>mpConfig-1.3</feature>
.. other features
</featureManager>
<application location="app1.war">
<appProperties>
<property name="ProfilesActive" value="test"/>
</appProperties>
</application>
<application location="app2.war">
<appProperties>
<property name="ProfilesActive" value="UAT"/>
</appProperties>
</application>
</server>