BoneCP是一个开源的Java数据库连接池,其内部使用了JDK1.5的并发包java.util.concurrent来保证同步,而且采用分段思想,避免单点加锁的竞争(ConcurrentHashMap也是使用这种思想来实现的),具有以下特点(官网):
- Highly scalable, fast connection pool
- Callback (hook interceptor) mechanisms on a change of connection state.
- Partitioning capability to increase performance
- Allows direct access to a connection/statements
- Automatic resizing of pool
- Statement caching support
- Support for obtaining a connection asynchronously (by returning a Future<Connection>)
- Release helper threads to release a connection/statement in an asynchronous fashion for higher performance.
- Easy mechanism to execute a custom statement on each newly obtained connection (initSQL).
- Support to switch to a new database at runtime without shutting down an application
- Ability to replay any failed transaction automatically (for the case where database/network goes down etc)
- JMX support
- Lazy initialization capable
- Support for XML/property configuration
- Idle connection timeouts / max connection age support
- Automatic validation of connections (keep-alives etc)
- Allow obtaining of new connections via a datasource rather than via a Driver
- Datasource/Hibernate support capable
- Debugging hooks to highlight the exact place where a connection was obtained but not closed
- Debugging support to show stack locations of connections that were closed twice.
- Custom pool name support.
- Clean organised code. 100% unit test branch code coverage (over 180 JUnit tests).
- Free, open source and written in 100% pure Java with complete Javadocs.
官网上提供的跟其它连接池的性能测试对比:
Single Thread
- 1,000,000 get connection / release connection requests
- No delay between getting/releasing connection.
- Pool size range: 20-50.
- Acquire increment: 5
- Helper threads: 1
- Partition count: 1
Multi-Thread
- 500 threads each attempting 100 get/release connection
- No delay between getting/releasing connection.
- Pool size range: 50-200.
- Acquire increment: 5
- Helper threads: 5
本次学习基于bonecp-0.7.1.RELEASE版本,主要jar包如下:
com.jolbox.bonecp 连接池核心包
com.jolbox.bonecp.hooks 支持connection状态改变时的事件通知
com.jolbox.bonecp.proxy 代理java.sql.*下的接口,仅供内部使用
此版本主要依赖的外部包有:
slf4j
guava(google lib)
jsr166y
提供外部支持和测试
com.jolbox.bonecp.provider
com.jolbox.bonecp.spring
相关推荐
数据库连接池BoneCP源码分析报告
数据库连接池BoneCP源码分析报告.doc
这是java通过JDBC使用数据池连接数据库的小实例源码,有oracle和mysql两个实例
myeclipse工程,含jar包,连接池实例
bonecp-0.7.1-rc2.jar bonecp-0.7.1-rc2-sources.jar
BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。
基于java的开发源码-数据库连接池 BoneCP.zip 基于java的开发源码-数据库连接池 BoneCP.zip 基于java的开发源码-数据库连接池 BoneCP.zip 基于java的开发源码-数据库连接池 BoneCP.zip 基于java的开发源码-数据库...
BoneCP数据源应用,详细的介绍了BoneCP的相关参数
bonecp数据库连接池jar包0.7.1: bonecp-0.7.1.RELEASE.jar bonecp-provider-0.7.1-rc2.jar bonecp-spring-0.7.1.RELEASE.jar
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...
bonecp-0.7.0.jar bonecp-0.7.0.jar bonecp-0.7.0.jar bonecp-0.7.0.jar bonecp-0.7.0.jar bonecp-0.7.0.jar bonecp-0.7.0.jar bonecp-0.7.0.jar
bonecp-0.8.1-20131105.191813-1.jar bonecp-jdk-compat-0.8.1-20131105.191752-1.jar bonecp-provider-0.8.1-20131105.191842-1.jar slf4j-api-1.7.7.jar slf4j-log4j12-1.7.7.jar
java源码:Java数据库连接池 BoneCP.jar
在用C3P0数据连接池的时候,一旦并发上来就坑不住了,因为C3P0存在...在Hibernate中使用BoneCP除了需要上面提到的jar包之外,还需要下载一个名为bonecp-provider-0.7.0.jar的bonecp-provider的jar包,它的下载位置是:...
bonecp.jar、bonecp-provider-0.7.0.jar、bonecp-spring-.jar、slf4j-api.jar、slf4j-log4j.jar
Bonecp的各个参数配置,以及各个参数的说明解释。
bonecp连接池所需的全部依赖包。。。bonecp连接池所需的全部依赖包。。。bonecp连接池所需的全部依赖包。。。bonecp连接池所需的全部依赖包。。。
使用BoneCP的xml配置文件进行java开发的使用全过程,使用这个例子的前提是你已经有了BoneCP所需要的那几个jar包,教你如何在java代码中加载BoneCP的xm配置文件
Bonecp参数配置.pdf