我在一个带有两个Web模块的单元中有一个EAR应用程序,每个Web模块都有一个servlet。
当我请求每个servlet时,我想通过JNDI获取应用程序和模块名称。
我尝试过:
String applicationName = (String) new InitialContext()
.lookup("java:app/AppName");
String moduleName = (String) new InitialContext()
.lookup("java:module/ModuleName");
没用。在 java:中找不到 app 和模块。
我在网页中找到了这个例子,也许这适用于WebSphere 8但不适用于7。
我试图在 java:comp / env 中找到包含应用或模块名称的条目,但我没有找到任何条目。
提前致谢。
答案 0 :(得分:2)
我能想到的应用程序级别的一种方法是在应用程序的web.xml中指定<env-entry>
。 Websphere将要求您指定部署的值,但它将使用您在web.xml中放置的任何内容作为默认值。
例如:
<env-entry>
<env-entry-name>AppName</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>MyApp</env-entry-value>
</env-entry>
然后,您可以使用java:comp/env/AppName
通过JNDI查看此值。