本人以前曾在博客上发表过TOMCAT5的全局数据源配置,TOMCAT6.0以上版本已经被广泛采用,其中全局数据源(Global JNDI)配置与以前版本有较大区别,所以写了此文更新配置。
具体操作:
1、在TOMCAT_HOME/conf/server.xml中的<GlobalNamingResources>的节点中添加如下内容:
<Resource name="jdbc/bn" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="1000" username="sa" password="654321" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://127.0.0.1:1433;databaseName=testDB"/>
以上为MSSQLSERVER数据库,url为数据连接地址,请据自己IP地址修改
2、 对于全局数据源的引用,在TOMCAT_HOME/conf/context.xml中添加如下内容:
<ResourceLink name="jdbc/bn" global="jdbc/bn" type="javax.sql.DataSource"/>
3、在具体代码中引用
private void initDAO() { try { Context initCtx = new InitialContext(); Context envCtx = (Context) initCtx.lookup("java:comp/env"); DataSource ds = (DataSource) envCtx.lookup("jdbc/bn"); conn = ds.getConnection(); } catch(Exception e) { e.printStackTrace(); } }
如果是使用 Spring HibernateDaoSupport
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName"> <value>java:comp/env/jdbc/bn</value> </property> </bean>
