您的位置:首页 > 其它

BoneCP的使用

2010-03-23 19:05 92 查看
项目开发时原先使用的数据库连接池是C3P0,这个连接池应该是目前Java Web开发中用到的较多的一个吧,不过在使用的时候发现它的释放机制可能存在Bug(网上也有不少人提及),如果最大连接数设置不够大,在多个客户端访问网页时,出现过几次达到最大连接数导致其他客户端无法得到数据库连接的情况。

今天下定决心,换一个连接池看看效果。

BoneCP可谓后起之秀,它的第一个版本是在2009年10月31日推出。宣称“是一个快速,开源的数据库连接池。帮你管理数据连接让你的应用程序能更快速地访问数据库。比C3P0/DBCP连接池快25倍。”老衲不由心动……

今天下午折腾了小半天,终于在项目上部署成功。暂记如下:

1.开发环境:JDK1.6+Eclipse3.4+Tomcat5.5

2.BoneCP用到的jar包:bonecp-0.6.4.jar,google-collections-1.0.jar,slf4j-api-1.5.11.jar,slf4j-log4j12-1.5.11.jar。这四个包是必须的,否则会出现错误。我就是在这个地方浪费了很多时间。

3.数据源设置:

BoneCPDataSource bcpds=new BoneCPDataSource();
bcpds.setDriverClass(driver);
bcpds.setJdbcUrl(url);
bcpds.setUsername(username);
bcpds.setPassword(passwd);
bcpds.setAcquireIncrement("1");
bcpds.setAcquireRetryDelay("10000");
bcpds.setIdleConnectionTestPeriod("100");
bcpds.setMinConnectionsPerPartition("2");
bcpds.setMaxConnectionsPerPartition("20");
bcpds.setPartitionCount("2");


BoneCP的数据源设置和C3P0极为相似。

部署后发现,数据库操作确实比C3P0快,但是传说中的25倍似乎没有体验到。是否会出现Bug,还需拭目以待。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: