我对Websphere应用服务器7.0(WAS7)和环境变量的阅读有一点问题.
使用TomCat,我已将变量定义为
<Environment name="myVar" type="java.lang.String" value="myVarOnServeur"
Run Code Online (Sandbox Code Playgroud)
我在initialContext上查找了它:
Context ctx = new InitialContext();
String myVar = (String) ctx.lookup( "java:comp/env/myVar" );
Run Code Online (Sandbox Code Playgroud)
它的工作原理!
但是使用Websphere,我在GUI上定义了一个环境变量,但我无法在我的java代码中读取它.我有一个NamingException.
http://fullahead.org/work/stackoverflow/was-environment-variables.png
我该怎么做才能解决我的问题?
在web.xml中定义
<env-entry>
<env-entry-name>varName</env-entry-name>
<env-entry-value>56</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
Run Code Online (Sandbox Code Playgroud)
用java看
Context envEntryContext = (Context) new InitialContext().lookup("java:comp/env");
String mydata = (String)envEntryContext.lookup("varName");
Run Code Online (Sandbox Code Playgroud)
小智 5
您在看错地方。
您应该在“环境”->“命名”->“名称空间绑定”->“新建”中添加变量。
如果选择绑定类型字符串,“绑定标识符”和“名称空间中的名称...” myVar,则可以使用以下方法获取变量的值:
Context ctx = new InitialContext();
String myVar = (String) ctx.lookup( "cell/persistent/myVar" );
Run Code Online (Sandbox Code Playgroud)

在 WAS 上遵循上述设置,其中 name 是您的键,value 是您的属性值。在我的示例中,我使用了名称:测试值:这是测试值。设置此值后,重新启动应用程序服务器。在您的 Java 代码调用 System.getProperty("TEST") 其中 test 是您的属性的名称,该值将显示
use*_*421 -3
我没有看到任何内容表明这些条目可以通过 ctx.lookup( "java:comp/env/..." ); 读取
| 归档时间: |
|
| 查看次数: |
39486 次 |
| 最近记录: |