我遇到以下情况的副作用:
我在Websphere Application Server 8.5.5上运行的J2EE 5.0 Web应用程序中通过JNDI查找URL:
URL jndiLmcUrl = null;
try {
Context initialContext = new InitialContext();
jndiLmcUrl = (URL) initialContext.lookup("java:comp/env/url/ENLMC);
} catch (NamingException ne) {
String message = "Unable to found middleware configuration file specified with Jndi property java:/comp/env/url/" + systemPropertyName + " as URI/URL. Trying as system property";
LOG.error(message);
}
我的web.xml配置是:
<resource-ref>
<res-ref-name>url/ENLMC</res-ref-name>
<res-type>java.net.URL</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
此外,我已使用服务器范围的Resources / URL / Urls下的WAS控制台定义了URL资源。
所有工作都按预期工作。
但是,由于某些原因(主要是WS Metro用法),我首先使用MyApplication / ManageModules / Class将应用程序移动到PARENT_LAST,然后使用本地类加载器加载(父级最后一个)。
执行此操作后,JNDI查找无法引发命名异常。
感谢您的宝贵帮助。