Tomcat中使用JNDI时需要注意的地方

2014-11-24 07:23:25 · 作者: · 浏览: 0
在tomcat中 数据库连接使用JNDI时,在spring配置文件中的名字前需要加上一个前缀:java:comp/env/,否则系统启动时会报Name jdbc is not bound in this Context。

比如在tomcat的Context.xml中配的JNDI如下


auth="Container"
type="javax.sql.DataSource"
username="user"
password="password"
driverClassName="oracle.jdbc.driver. OracleDriver"
url="jdbc:oracle:thin:@192.168.2.2:1521:sid"
maxActive="10"
maxIdle="4"/>


这时jndi的名字为myds,则在spring的配置文件中写法如下:








如果在代码中取DataSource,则用如下方式:


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


摘自 indexchen的专栏