【发布时间】:2015-01-02 02:25:41
【问题描述】:
我正在尝试获取我在 web.xml 中定义的 <env-entry> 条目,该条目是在 Weblogic 12c 中部署的 .ear 应用程序内的战争:
<env-entry>
<env-entry-name>java:app/test</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>1111111</env-entry-value>
</env-entry>
并且,在我的代码中:
Object test = InitialContext.doLookup("java:app/test");
System.out.println(test);
抛出异常:
javax.naming.NameNotFoundException: While trying to look up /app/test in /app/webapp/xxx/yyy/1243828215.; remaining name '/app/test'
Weblogic 似乎在 JNDI 解析过程中修改了一些内容:“xxx/yyy”是我在 Weblogic 中的应用程序的上下文根,“1243828215”是一个随机数!
知道如何定义<env-entry> 条目以便可以使用InitialContext.doLookup() 检索它们吗?
【问题讨论】:
-
当你使用
<env-entry-name>app/test</env-entry-name>InitialContext.doLookup("app/test");时会发生什么我认为你不需要预先挂起java:因为容器已经自动为你完成了 -
可悲的是:
javax.naming.NameNotFoundException: While trying to lookup 'app.test' didn't find subcontext 'app'. Resolved ''; remaining name 'app/test'"
标签: java weblogic jndi web.xml weblogic12c