使用Websphere的JNDI Lookup和PARENT_LAST

时间:2016-04-05 09:32:53

标签: java url websphere classloader jndi

我遇到以下情况的副作用:

我在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查找无法引发命名异常。

感谢您的宝贵帮助。

0 个答案:

没有答案