我知道我可以通过使用 -D 参数传递参数来指定 Tomcat 的系统属性,例如“-Dmy.prop=值".
我想知道是否有一种更简洁的方法可以通过在 context.xml 文件或其他一些 tomcat 配置文件中指定属性值来实现此目的。我想这样做,因为首先,更容易跟踪我的属性,其次,我正在运行多个上下文,并且我不知道如何通过 -D 参数指定特定于上下文的属性。
我使用的是 Tomcat 5.5 版本。
克利夫·迈耶斯建议使用的原始答案<env-entry>
仅使用 System.getProperty() 时没有帮助
根据 Tomcat 6.0 文档<env-entry>用于 JNDI。所以这意味着它不会有任何影响System.getProperty()
.
随着<env-entry>
from 克利夫·迈耶斯的例子,如下代码
System.getProperty("SMTP_PASSWORD");
将返回 null,而不是值“abc123ftw”。
根据 Tomcat 6 文档,使用<env-entry>
你必须编写这样的代码才能使用<env-entry>
:
// Obtain our environment naming context
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
// Look up our data source
String s = (String)envCtx.lookup("SMTP_PASSWORD");
警告:我实际上还没有尝试过上面的例子。但是我have tried <env-entry>
与 System.getProperty() 一起使用,这绝对行不通。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)