为什么 BoneCP 连接池的性能这么高呢?(bonecp-0.6.4.jar,google-collections-1.0.jar,slf4j-api-1.5.11.jar,slf4j-log4j12-1.5.11.jar。这几个是使用BoneCp的必备包)
1. BoneCP 不用 synchronized 关键字来处理多线程对资源的争用,而是使用 java.util.concurrent 包中的锁机制,这个包是在 JDK 1.5 才开始有的;
2. 分区机制,尽管使用了锁,但还是存在着资源争用的问题,因此 BoneCP 可配置多个连接池分区,每个分区独立管理,互不影响。
尽管连接池的性能并不会是一个系统中的瓶颈,但是我们单纯从连接池这个角度来看 BoneCP ,也是值得我们去学习的。
² JDBC连接属于数据源
// load the DB driver
Class.forName("org.hsqldb.jdbcDriver");
// create a new datasource object
BoneCPDataSource ds = new BoneCPDataSource();
// set the JDBC url
ds.setJdbcUrl("jdbc:hsqldb:mem:test");
// set the username
ds.setUsername("sa");
// set the password
ds.setPassword("");
// (other config options here)
ds.setXXXX(...);
Connection connection;
connection = ds.getConnection();
// fetch a connection
... do something with the connection here ...
// close the connection
connection.close();
// close the datasource pool
ds.close();
² Spring配置数据源
<!-- BoneCP configuration --><bean id="mainDataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close"> <property name="driverClass" value="com.mysql.jdbc.Driver" /> <property name="jdbcUrl" value="jdbc:mysql://127.0.0.1/yourdb" /> <property name="username" value="root"/> <property name="password" value="abcdefgh"/> <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="statementCacheSize" value="100"/> <property name="releaseHelperThreads" value="3"/></bean>
² Spring+Hibernate配置数据源
<!-- Hibernate SessionFactory --><bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean" autowire="autodetect"><property name="hibernateProperties"><props><prop key="hibernate.connection.provider_class">com.jolbox.bonecp.provider.BoneCPConnectionProvider</prop><prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop><prop key="hibernate.connection.url">jdbc:mysql://127.0.0.1/yourdb</prop><prop key="hibernate.connection.username">root</prop><prop key="hibernate.connection.password">abcdefgh</prop><prop key="bonecp.idleMaxAge">240</prop><prop key="bonecp.idleConnectionTestPeriod">60</prop><prop key="bonecp.partitionCount">3</prop><prop key="bonecp.acquireIncrement">10</prop><prop key="bonecp.maxConnectionsPerPartition">60</prop><prop key="bonecp.minConnectionsPerPartition">20</prop><prop key="bonecp.preparedStatementCacheSize">50</prop><prop key="bonecp.statementsCachedPerConnection">30</prop><prop key="bonecp.releaseHelperThreads">3</prop></props></property></bean>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/WWWTYB/archive/2010/04/10/5469645.aspx
分享到:
相关推荐
此项目是spring+hibernate+JPA+BoneCP的大整合。所用的技术比较多,如Spring的IOC,AOP,Transactiion,Annotation,Spring_JUnit_Test及Log4j;Hibernate的JPA Annotation;BoneCP的数据库连接测等。是很好的学习资料...
总结起来,配置Spring+JPA与BoneCP数据源涉及的关键知识点包括:Spring框架、JPA、BoneCP连接池、数据库驱动、依赖管理、Spring配置、实体类、Repository接口以及Spring Boot的启动配置。理解并熟练掌握这些知识点,...
最新版SSH框架(spring3.1.2+hibernate4.1.4+struts2.3.4+bonecp0.7.1) 使用bonecp作为数据库连接池工具 下载后可以运行,有例子,使用freemarker模板展示。
spring 3.2.0+hibernate 4.1.6+struts2整合需要的jar包 的目录 antlr-2.7.7.jar aopalliance-1.0.jar asm-3.3.jar asm-commons-3.3.jar aspectjweaver-1.5.3.jar bonecp-0.7.1.RELEASE.jar cglib-2.1.3.jar ...
在本文中,我们将深入探讨BoneCP的核心特性、配置方法以及如何与Hibernate框架进行集成。 首先,我们来看一下BoneCP为何能实现如此高的性能。其主要得益于以下几点: 1. **资源复用**:BoneCP采用预分配和复用的...
D:\spring 3.2.0+hibernate 4.1.6+struts2整合需要的jar包 的目录 2013/05/11 15:26 <DIR> . 2013/05/11 15:26 <DIR> .. 2013/03/21 18:20 445,288 antlr-2.7.7.jar 2013/03/21 18:20 4,467 aopalliance-1.0.jar ...
在Java开发中,Spring框架和Hibernate是两个...下面将详细介绍如何在Spring中配置BoneCP以及如何与Hibernate集成。 首先,让我们来看一下Spring配置中的`mainDataSource` bean,这是 BoneCP 数据源的配置: ```xml ...
通过spring-data + hibernate + bonecp + mysql RESTful API通过spring-data-rest进行JPA的实践 下载并进行Maven安装 git clone 光盘spring-data-jpa-rest.git mvn安装 准备 准备一个名为“ spring-data-jpa-with...
Spring框架支持多种类型的数据源配置,包括但不限于`BasicDataSource`、`BoneCPDataSource`等。这里我们使用的是`c3p0`作为数据源管理工具。 **示例配置:** ```xml ``` 这里的数据源配置指定...
- "SpringHibernateJPA0300_BoneCP.rar"可能包含了一个使用 BoneCP 作为连接池的Spring JPA与Hibernate项目。 - "School.rar"和"spring-data-jpa.rar"可能是两个独立的示例项目,分别展示了学校管理和Spring Data ...
【压缩包子文件的文件名称列表】:“BoneCp+Hibernate+Spring所需jar包”暗示了这个压缩包包含了进行整合所需的依赖库,可能包括BoneCP的jar文件、Hibernate的核心库和Spring的框架库,以及其他可能需要的如JDBC驱动...
<bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean" autowire="autodetect"> <property name="hibernateProperties"> <props> <prop key="hibernate.connection....
5. 与其他框架的集成:如果项目中使用了Spring、Hibernate等框架,了解如何将BoneCP与其整合,以实现更高效的数据访问。 总的来说,BoneCP作为一款数据库连接池实现,为Java应用程序提供了高效、稳定的数据库连接...
在整合SSH时,需要正确配置这些JAR文件到项目的类路径中,同时还需要编写相应的XML配置文件,如struts.xml、spring-servlet.xml、hibernate.cfg.xml等,以定义组件、数据源、事务管理器等。此外,还需要在Web.xml中...
- **特点**:开源的JDBC连接池,支持JDBC3规范和JDBC2的标准扩展,被广泛应用于Hibernate、Spring等项目。 - **适用场景**:适用于小型系统或对性能要求不高的应用场景。 - **优缺点**:性能一般,但由于其简洁...
支持Spring集成配置。配置简单易用。 支持XML映射的SQL mapper。支持DML及DDL配置。 SQL mapper支持if/elseif/else/foreach/where/set/trim标签的相互嵌套。 支持Python/Javascript/Java脚本对SQL mapper进行...
2. 适用于任何基于 Java 的 ORM 框架,如 Hibernate、MyBatis 等。 3. 可基于任何第三方的数据库连接池,如 DBCP、C3P0、BoneCP、Druid 等。 4. 以 jar 包形式提供服务,无 proxy 代理层,无需额外部署,无其他依赖...
支持JPA,Hibernate,Mybatis,Spring JDBC模板或JDBC。 连接池自适应。 支持DBCP,C3P0,BoneCP,Druid。 理论上,任何数据库都支持。 支持MySQL,Oracle,SQLServer和PostgreSQL。 5.配置 Java配置 Spring命名...
支持JPA,Hibernate,Mybatis,Spring JDBC模板或JDBC。 连接池自适应。 支持DBCP,C3P0,BoneCP,Druid。 理论上,任何数据库都支持。 支持MySQL,Oracle,SQLServer和PostgreSQL。 5.配置 Java配置 Spring命名...
Java 框架,工作在 JDBC 层面上,作为增强型 JDBC 驱动,兼容所有基于 JDBC 的 ORM 框架,如 JPA, Hibernate, Mybatis, Spring JDBC Template 等,并且可以与任意的数据库连接池配合使用,如 DBCP, C3P0, BoneCP, ...