我在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项目中添加任何引用。
答案 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");