JNDI Lookup异常

时间:2013-09-18 18:09:35

标签: java jdbc jndi

我在WAS 7.0.0.25中创建了一个动态Web项目。我在WAS中将数据源配置为jdbc / DWLConfig。我试图从我创建的Web项目中查找servlet中的这个数据源。

如果我给java:comp / env / jdbc / DWLConfig,它给我NameNotFoundException。但是,如果我给jdbc / DWLConfig,那么它工作正常。

实际上,从servlet,我正在调用另一个我无权编辑的项目,总是看起来像java:comp / env / jdbc / DWLConfig。所以这对我来说是个例外。

我是否需要在我创建的Web项目中添加任何引用。

1 个答案:

答案 0 :(得分:0)

问题可能与基础JNDI有关。您将注意到以下示例中的原因无效:

Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");

// Right
DataSource ds = (DataSource) envCtx.lookup("jdbc/DWLConfig");

// Wrong. because base JNDI already created.
DataSource ds = (DataSource) envCtx.lookup("java:comp/env/jdbc/DWLConfig");