jndi是一种通过名字获取对象的一种技术,一般在java中jndi的全名为:java:comp/env/对象的名字。其中对象的名字是根据技术分类命名的,例如对于jdbc的datasource,一般命名为“jdbc/任意名字“,而对于ejb对象,命名为”ejb/任意名字“。
但是在不同的web服务器中jndi的实现上稍微有些不同,我就碰到了一种情况,我们做的一个项目中,有两个版本,一个是机关版用的是weblogic,一个是现场版用的是tomcat5.0,我们用的数据源的jndi名称为jdbc/gwssi。在weblogic中可以用省略的命名:jdbc/gwssi,而在tomcat5.0中必须用jndi的全名java:comp/env/jdbc/gwssi,否则会找不到。
但是在不同的web服务器中jndi的实现上稍微有些不同,我就碰到了一种情况,我们做的一个项目中,有两个版本,一个是机关版用的是weblogic,一个是现场版用的是tomcat5.0,我们用的数据源的jndi名称为jdbc/gwssi。在weblogic中可以用省略的命名:jdbc/gwssi,而在tomcat5.0中必须用jndi的全名java:comp/env/jdbc/gwssi,否则会找不到。