从 server.xml 按名称读取变量
Read variable by name from server.xml
<?xml version="1.0" encoding="UTF-8"?>
<server>
<variable
name="temp"
value="Something" />
</server>
如何以编程方式从基于 Java 的 Web 应用程序的 xml 文件中读取 temp
?
正在尝试:
String temp = System.getenv("temp");
执行此操作有几个选项:
1。使用 MicroProfile 配置
在server.xml
中:
<featureManager>
<feature>mpConfig-1.3</feature>
....
</featureManager>
<variable name="temp" value="Something" />
然后注入任何 CDI bean:
@Inject
@ConfigProperty(name = "temp")
String temp;
2。使用 <jndiEntry>
将变量存储在 JNDI 中
在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}"/>
在 servlet 或 EJB(或其他托管 class)中注入资源:
@Resource(lookup = "config/foo")
String foo;
或程序化 JNDI 查找:
String configDir = InitialContext.doLookup("config/configDir");
3。使用环境变量:
此方法要求您在${server.config.dir}/server.env
或启动Liberty 服务器的进程的环境中设置环境变量。这里的所有内容都将在服务器 JVM 的环境中结束。
temp=Something
foo=bar
然后在应用程序中获取 env var:
String temp = System.getenv("temp");
<?xml version="1.0" encoding="UTF-8"?>
<server>
<variable
name="temp"
value="Something" />
</server>
如何以编程方式从基于 Java 的 Web 应用程序的 xml 文件中读取 temp
?
正在尝试:
String temp = System.getenv("temp");
执行此操作有几个选项:
1。使用 MicroProfile 配置
在server.xml
中:
<featureManager>
<feature>mpConfig-1.3</feature>
....
</featureManager>
<variable name="temp" value="Something" />
然后注入任何 CDI bean:
@Inject
@ConfigProperty(name = "temp")
String temp;
2。使用 <jndiEntry>
将变量存储在 JNDI 中
在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}"/>
在 servlet 或 EJB(或其他托管 class)中注入资源:
@Resource(lookup = "config/foo")
String foo;
或程序化 JNDI 查找:
String configDir = InitialContext.doLookup("config/configDir");
3。使用环境变量:
此方法要求您在${server.config.dir}/server.env
或启动Liberty 服务器的进程的环境中设置环境变量。这里的所有内容都将在服务器 JVM 的环境中结束。
temp=Something
foo=bar
然后在应用程序中获取 env var:
String temp = System.getenv("temp");