Есть несколько вариантов, которые вы должны сделать:
1. Использование MicroProfile Config
В server.xml
:
<featureManager>
<feature>mpConfig-1.3</feature>
....
</featureManager>
<variable name="temp" value="Something" />
Затем введите в любой компонент CDI:
@Inject
@ConfigProperty(name = "temp")
String temp;
2. Сохраните переменную в JNDI с помощью <jndiEntry>
В server.xml
:
<featureManager>
<feature>jndi-1.0</feature>
....
</featureManager>
<jndiEntry jndiName="config/foo" value="whatever"/>
<jndiEntry jndiName="config/bar" value="${temp}"/>
<jndiEntry jndiName="config/configDir" value="${server.config.dir}"/>
С внедрением ресурса в сервлет или EJB (или другой управляемый класс):
@Resource(lookup = "config/foo")
String foo;
Или программный поиск JNDI:
String configDir = InitialContext.doLookup("config/configDir");
3. Использование переменных среды:
Этот подход требует, чтобы вы устанавливали переменные среды в ${server.config.dir}/server.env
или в среде процесса, который запускает сервер Liberty. Все здесь будет в конечном итоге в env.
сервера JVM
temp=Something
foo=bar
Затем получите env var в приложении:
String temp = System.getenv("temp");