在tomcat下配置BoneCP连接池

公司的内部服务器,一直是采用的tomcat,连接池也是采用的tomcat自带的dbcp.最近发现好象连接池的数据库连接只会增加,不会自动释 放.后来网上一查,很多人说这是dbcp的老毛病了,虽然基本不影响使用,但毕竟占用了数据库资源,因此,想测试一下其它连接池.首先找到有人推荐的 proxool,这个网上有详细的配置方式,一配就通了.但又在网上看到一个快速的连接池BoneCP,决定也测试一下.结果在 http://jolbox.com/ 和网上都只看到在spring下的配置方式.于是自己参照dbcp的方式和tomcat文档,弄了大半天,终于配置好了.整理一下,发出来,希望能给有类似需要的人一些参考.

1.环境:jdk1.6,tomcat6.0.20,bonecp-0.6.4
2.需要的包:google-collections-1.0.jar,slf4j-api-1.5.11.jar,slf4j-log4j12-1.5.11.jar,bonecp-0.6.4.jar
3.tomcat的配置方式:
<Resource
name="clientdb"
auth="Container"
type="com.jolbox.bonecp.BoneCPDataSource"
factory="org.apache.naming.factory.BeanFactory"
driverClass="oracle.jdbc.driver.OracleDriver"
username=" "
password=" "
jdbcUrl="jdbc:oracle:thin:@127.0.0.1:1521:DB"
idleConnectionTestPeriod="0"
idleMaxAge="10"
partitionCount="1"
maxConnectionsPerPartition="5"
minConnectionsPerPartition="1"
connectionTestStatement=""
initSQL="select 1 from dual"
/>
可以放到conf/server.xml文件的 <GlobalNamingResources>节,也可放到<context>中
4.使用方式:
和dbcp是一样的:
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup(JNDIName);
con = ds.getConnection();
5.资源下载:
http://jolbox.com/bonecp/downloads/maven/com/jolbox/bonecp/0.6.4/bonecp-0.6.4.jar
http://google-collections.googlecode.com/files/google-collect-1.0.zip
http://www.slf4j.org/dist/slf4j-1.5.11.zip

你可能感兴趣的:(spring,oracle,maven,tomcat,Google)