`
周一Monday
  • 浏览: 346794 次
  • 来自: 北京
社区版块
存档分类
最新评论

BoneCP数据库连接池

阅读更多

BoneCP是一个开源的数据库连接池,听说比C3P0快好多倍(这个自己没有验证过)

关于它的介绍看这个吧:

http://jolbox.com/index.html 

 

下面做一个简单的例子

创建一个Java项目,导入BoneCP依赖的JAR和数据库驱动JAR

 

BoneCP依赖的JAR文件

bonecp-0.7.0.jar
google-collections-1.0.jar
log4j-1.2.16.jar
slf4j-log4j12-1.6.1.jar   
slf4j-api-1.6.1.jar   (其中这个Hibernate3.6已经提供了)

 

最好在提供一个log.properties文件 内容如下:

log4j.category.com.jolbox=DEBUG,Console
# Stdout
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%t] %-5p %c %x - %m%n

 

 

编写BoneCP的配置文件bonecp-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<bonecp-config>
	<default-config>
		<!-- 数据库驱动 -->
		<property name="driverClass">com.mysql.jdbc.Driver</property>
		<!-- URL -->
		<property name="jdbcUrl">jdbc:mysql://localhost:3306/spring</property>
		<!-- 数据库的用户名 -->
		<property name="username">root</property>
		<!-- 数据库的密码 -->
		<property name="password">root</property>
		<!-- 检查数据库连接池中空闲连接的间隔时间,单位是分,默认值:240,如果要取消则设置为0 -->
		<property name="idleConnectionTestPeriod">60</property>
		<!-- 连接池中未使用的链接最大存活时间,单位是分,默认值:60,如果要永远存活设置为0 -->
		<property name="idleMaxAge">240</property>
		<!-- 每个分区最大的连接数 -->
		<property name="maxConnectionsPerPartition">30</property>
		<!-- 每个分区最小的连接数 -->
		<property name="minConnectionsPerPartition">10</property>
		<!-- 分区数 ,默认值2,最小1,推荐3-4,视应用而定-->
		<property name="partitionCount">3</property>
		<!-- 每次去拿数据库连接的时候一次性要拿几个,默认值:2 -->
		<property name="acquireIncrement">5</property>
		<!-- 每个分区释放链接助理进程的数量,默认值:3,除非你的一个数据库连接的时间内做了很多工作,不然过多的助理进程会影响你的性能 -->
		<property name="releaseHelperThreads">3</property>
	</default-config>
</bonecp-config>

 

测试:

package test;

import java.sql.Connection;
import java.sql.SQLException;

import com.jolbox.bonecp.BoneCPDataSource;

public class Demo {

	public static void main(String[] args) {
		BoneCPDataSource dataSource = new BoneCPDataSource();
		dataSource.getConfigFile();
		Connection conn = null;
		try {
			long startTime = System.currentTimeMillis();
			for (int i = 0; i < 100; i++) {
				conn = dataSource.getConnection();
			}
			long endTime = System.currentTimeMillis();
			System.out.println("====================用时:" + (endTime - startTime) + "ms====================");
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}

 

 关于BoneCP更多的配置,可以参考

http://www.blogjava.net/sxyx2008/archive/2011/03/16/346386.html

 

下面做一个BoneCP与Spring的集成,只要在beans.xml配置如下即可:

<!-- 配置数据库连接池 -->
	<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close">
		<property name="driverClass" value="com.mysql.jdbc.Driver" />
		<property name="jdbcUrl" value="jdbc:mysql://localhost/spring" />
		<property name="username" value="root" />
		<property name="password" value="root" />
		<property name="idleConnectionTestPeriod" value="60" />
		<property name="idleMaxAge" value="240" />
		<property name="maxConnectionsPerPartition" value="30" />
		<property name="minConnectionsPerPartition" value="10" />
		<property name="partitionCount" value="3" />
		<property name="acquireIncrement" value="5" />
		<property name="statementsCacheSize" value="100" />
		<property name="releaseHelperThreads" value="3" />
	</bean>

 

 

 

分享到:
评论

相关推荐

    bonecp数据库连接池jar包

    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数据库连接池使用Demo

    采用bonecp数据库连接池封装了Jdbc,当时也是网上下载了一份代码,发现不能用,只好自己修改代码,现在这个代码是可以直接运行的,测试用的Sql Server 2008,表很简单,就四个字段

    Java中的BoneCP数据库连接池用法.doc

    Java 中的 BoneCP 数据库连接池用法 BoneCP 是一个开源的 Java 数据库连接池,它的官方网站网址是 http://jolbox.com/。据 BoneCP 官方网站报告称,BoneCP 比性能排名第二的 Java 数据库连接池性高高 25 倍以上,...

    基于Java的实例源码-数据库连接池 BoneCP.zip

    本实例源码是关于BoneCP数据库连接池的实现,它是一个高效且轻量级的连接池库,适用于Java环境。在本压缩包中,包含了配置文件bonecp-default-config.xml以及相关的类库。 首先,`bonecp-default-config.xml`是...

    开源数据库连接池bonecp附教程

    骨CP(BoneCP)是一款高性能、轻量级的开源Java数据库连接池,它以其高效的并发性能和优秀的资源管理而受到开发者的青睐。本教程将深入探讨骨CP的基本概念、安装配置、使用方法以及优化策略。 一、骨CP简介 骨CP是...

    bonecp连接数据库所需jar

    首先,`bonecp-0.7.1.RELEASE.jar`是BoneCP数据库连接池的主要库文件,包含了所有与 BoneCP 相关的类和接口。BoneCP 提供了线程安全的数据库连接管理,通过池化技术实现了数据库连接的复用,减少了创建和销毁数据库...

    数据库连接池BoneCP源码分析报告

    BoneCP是一款高效、轻量级的Java数据库连接池实现,它的源码分析对于我们理解数据库连接池的工作原理,优化数据库性能以及进行二次开发具有重要意义。 首先,我们需要了解数据库连接池的基本概念。数据库连接池是...

    BoneCP 连接池学习笔记

    BoneCP 是一个高效、轻量级的 Java 数据库连接池(JDBC Connection Pool)实现。它在性能上优于其他同类连接池,如 C3P0 和 DBCP,尤其适用于高并发场景。在深入理解 BoneCP 之前,我们先来了解一下数据库连接池的...

    几种数据库连接池详细配置

    本文将深入解析几种常用的数据库连接池——Apache DBCP、C3P0、Proxool、BoneCP的详细配置参数,帮助开发者更好地理解和应用这些技术。 ### Apache DBCP **dataSource**: 配置数据源,通常在应用服务器的配置文件...

    Java数据库连接池 BoneCP

    BoneCP是一款轻量级、高性能的Java数据库连接池,设计目标是解决传统数据库连接池在高并发环境下的性能瓶颈问题。 BoneCP的核心原理是预先创建并维护一定数量的数据库连接,这些连接存储在一个池中,当应用程序需要...

    Java数据库连接池的原理与应用.pdf

    在使用数据库连接池时,常见的连接池实现有DBCP、C3p0、TomcatJdbcPool、BoneCP和Druid等。以DBCP为例,使用它需要导入commons-dbcp.jar和commons-pool.jar包。在Maven项目中,需要在pom.xml配置文件中添加相应的...

    数据库连接池以及hibernate对各种连接池的整合

    在Java开发中,数据库连接池是一种重要的资源管理工具,它允许开发者高效地管理和复用数据库连接,从而提高系统的性能和稳定性。数据库连接池的基本原理是预先创建一定数量的数据库连接,当应用程序需要访问数据库时...

    基于java的数据库连接池 BoneCP.zip

    BoneCP是一款高效、轻量级的Java数据库连接池实现,它在设计上注重了性能和线程安全。 BoneCP的配置文件通常以`bonecp-default-config.xml`的形式存在,这是设置连接池参数的关键文件。在该文件中,开发者可以定制...

    数据库连接池BoneCP源码分析报告.doc

    BoneCP 是一个轻量级、高性能的 Java 数据库连接池,本文将深入剖析其源码,理解其工作原理和实现机制。 1. **BoneCP 简介** BoneCP 是由 Jeff Smith 创建的一个开源数据库连接池,它设计的目标是提供比 C3P0 和 ...

    java数据库连接池-bonecp java源码

    不过,理解BoneCP的工作原理和优势,对于理解数据库连接池的概念和使用仍然具有参考价值。 在深入研究 BoneCP 的源码时,可以关注以下几个关键组件: 1. `ConnectionHandle`:这是 BoneCP 提供的接口,代表数据库...

    比c3p0还快的bonecp连接池配置方法讲解

    骨CP(BoneCP)是一款高性能的Java数据库连接池(JDBC Connection Pool)库,它以其高效性能和轻量级的设计而受到开发者的欢迎。在某些测试中,BoneCP被证明比C3P0快约25倍,这使得它成为在高并发场景下优化数据库...

    基于java的开发源码-数据库连接池 BoneCP.zip

    基于java的开发源码-数据库连接池 BoneCP.zip 基于java的开发源码-数据库连接池 BoneCP.zip 基于java的开发源码-数据库连接池 BoneCP.zip 基于java的开发源码-数据库连接池 BoneCP.zip 基于java的开发源码-数据库...

    基于Java的数据库连接池 BoneCP.zip

    BoneCP是一个高效、轻量级的Java数据库连接池实现,设计目标是提供比其他连接池更高的并发性能。在这个"基于Java的数据库连接池 BoneCP.zip"压缩包中,我们可以找到与 BoneCP 相关的关键配置文件和组件。 首先,`...

    JAVA数据库连接池(C3P0,Druid,JNDI ,DBCP,Proxool,BoneCP)

    本文将详细介绍几个常见的Java数据库连接池实现:C3P0、Druid、JNDI、DBCP、Proxool以及BoneCP,并结合Spring+MyBatis+maven环境下的应用示例进行解析。 1. C3P0: C3P0是一个开源的JDBC连接池,它实现了数据源和...

Global site tag (gtag.js) - Google Analytics