BoneCP连接池是一个比dbpc,c3p0连接池性能更加优越的datasource连接池,所以想要知道如何在spring bean中配置BoneCP是至关重要的,下面来学习一下BoneCP连接池的配置与使用吧!
首先在自己的pom.xml中导入BoneCP maven jar包,如下所示:
<dependency> <groupId>com.jolbox</groupId> <artifactId>bonecp</artifactId> <version>0.8.0.RELEASE</version> </dependency>
在项目的jdbc.properties配置文件中加入如下配置:
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/voa?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true jdbc.username=root jdbc.password=root jdbc.idleConnection=60 jdbc.idleMaxAgeInMinutes=30 jdbc.maxConnectionNum=200 jdbc.minConnectionNum=5
在spring-context.xml中添加BoneCP连接池的spring bean配置,如下所示:
<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close"> <!-- 数据库驱动 --> <property name="driverClass" value="${jdbc.driver}" /> <!-- 相应驱动的jdbcUrl --> <property name="jdbcUrl" value="${jdbc.url}" /> <!-- 数据库的用户名 --> <property name="username" value="${jdbc.username}" /> <!-- 数据库的密码 --> <property name="password" value="${jdbc.password}" /> <!-- 检查数据库连接池中空闲连接的间隔时间,单位是分,默认值:240,如果要取消则设置为0 --> <property name="idleConnectionTestPeriodInMinutes" value="${jdbc.idleConnection}" /> <!-- 连接池中未使用的链接最大存活时间,单位是分,默认值:60,如果要永远存活设置为0 --> <property name="idleMaxAgeInMinutes" value="${jdbc.idleMaxAgeInMinutes}" /> <!-- 每个分区最大的连接数 --> <property name="maxConnectionsPerPartition" value="${jdbc.maxConnectionNum}" /> <!-- 每个分区最小的连接数 --> <property name="minConnectionsPerPartition" value="${jdbc.minConnectionNum}" /> </bean>
建议:
由于jolbox的BoneCP连接池在2013年之后就没有再更新版本了,性能虽然比c3p0等连接池好,但是和目前世界号称最快的HikariCP连接池来说,是完全无法比的,所以建议看一下HikariCP连接池的使用教程。