我有一个Web应用程序试图访问在WebSphere Application Server中声明的JNDI。
JNDI在Object pool managers
下声明。但是,当我访问池时,我收到错误。该错误表示comp/env/pool is not found in context "java:"
。
我的代码编写如下:
InitialContext initialContext = new InitialContext();
ObjectPoolManager opm = (ObjectPoolManager)initialContext.lookup("java:comp/env/pool");
通过以下代码访问游泳池:
ObjectPoolManager opm = (ObjectPoolManager)initialContext.lookup("pool");
我很困惑,因为根据我在互联网上发现的内容,java:comp/env/
是JNDI的默认前缀。那么为什么它会导致我的错误?
谢谢!
答案 0 :(得分:0)
如果已在resource-ref部分下的web.xml中声明了对象池的引用,则只能使用java:comp / env。
有关详细说明,请参阅What is resource-ref in web.xml used for?。