Tomcat中使用JNDI时需要注意的地方
在tomcat中数据库连接使用JNDI时,在spring配置文件中的名字前需要加上一个前缀:java:comp/env/,否则系统启动时会报Name jdbc is not bound in this Context。比如在tomcat的Context.xml中配的JNDI如下
<Resource name="myds"
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的配置文件中写法如下:
<beans>
<jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/myds"/>
</beans>
如果在代码中取DataSource,则用如下方式:
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource)envCtx.lookup("myds");
摘自 indexchen的专栏
补充:软件开发 , Java ,