Eclipse, Maven,C3P0, BoneCP
C3P0连接池的使用,首先引入 C3P0 连接池所依赖的 jar 包,基于 Maven 的工程请添加如下依赖,非 Maven 工程请下载相关 jar 包加入到工程类路径下。
编写配置文件,C3P0 默认配置文件是工程类路径下的 c3p0-config.xml ,你也可以通过设置系统属性 com.mchange.v2.c3p0.cfg.xml 的值来指定具体配置文件的路径信息。图示,配置文件内容及相关配置项的注释信息。
C3P0重点配置项解析:
C3P0连接池测试1. 图1示,通过使用C3P0提供的连接池类 ComboPooledDataSource 构建一个获取和关闭数据库连接的工具类2. 图2示,编写测试代码,从上述工具类中获取数据库连接,打印该连接对应的代理类名称,并关闭连接
引入 BoneCP 依赖:
通过图1示静态代码段的方式配置并初始化 BoneCP 提供的连接池对象,和 C3P0 相似,如下关于获取连接超时的配置非常重要:// 连接超时时间阀值,获取连接时,超出阀值时间,则获取失败 config.setConnectionTimeout(1000, TimeUnit.MILLISECONDS);图2示,通过C3P0提供的数据库连接池类 BoneCP 创建的一个获取数据库连接的工具类。
BoneCP连接池测试编写测试代码,从上述工具类中获取数据库连接,打印该连接对应的代理类名称,并关闭连接
总结:这两款数据库连接池都是当前应用较为广泛,运行比较稳定的开源连接池组件,从性能基准测试上看,BoneCP 略胜一筹,可针对具体业务场景,涉及相关测试并根据结果进行选择,注意,两个组件均提供了很多可配置的参数,相关值的设置也会对组件性能及稳定性有一定的影响。