项目

一般

简介

v10jndi找不到 javax.naming.NamingException: Lookup failed for 'java:comp/env/jdbc/oadb'

由 彭 博 在 超过 3 年 之前添加

问题:

ThreadName=ApusicLogManager] [timeMillis: 1624500501124] [levelValue: 1000] [[

  javax.naming.NamingException: Lookup failed for 'java:comp/env/jdbc/oadb' in SerialContext[myEnv={java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.apusic.enterprise.naming} [Root exception is javax.naming.NameNotFoundException: No object bound to name java:comp/env/jdbc/oadb]]]

排查过程:

应用的JNDI写的是java:comp/env/jdbc/oadb

InitialContext initial = new InitialContext();

        DataSource ds = (DataSource)initial.lookup("java:comp/env/jdbc/oadb");

        if(ds == null)

        {

            throw new Exception("DataSource is null!");

        }

 

原因:

 

应用的JNDI写的是java:comp/env/jdbc/oadb

v10上的jndi名称一般配置成jdbc/oadb去识别。

解决方案:

将应用的java:comp/env/jdbc/oadb改成jdbc/oadb(java:comp/env/jdbc/xxxx改成jdbc/xxxx)