`
zz563143188
  • 浏览: 2275980 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
博客专栏
77fc734c-2f95-3224-beca-6b8da12debc8
编程工具介绍
浏览量:578901
D9710da2-8a00-3ae6-a084-547a11afab81
Spring Mvc实战(...
浏览量:1087986
D3f88135-07de-3968-a0f0-d2f13428c267
项目开发经验
浏览量:1657603
社区版块
存档分类
最新评论

DBCP,CP30,proxool连接池在spring hibernate中的配置

阅读更多
用spring默认的连接池性能效率不高,今天我为大家介绍三种流行的连接池配置:
1.连接池的jar文件通过查找类在网上能够找到。
2.我首先是数据库信息放置在jdbc.propertity文件中用spring加载这样方便
3.如想了解决整个项目请见:http://zz563143188.iteye.com/blog/1825168 

收集五年的开发资料下载地址:  http://pan.baidu.com/share/home?uk=4076915866&view=share
 
  
 
1.jdbc.propertity常用配置字符串
 
#Oracle?????
#ConUsePool true  use connection pool,false not use connection pool
ConUsePool=true
#DsName datasource name
#DsName=gtcs
#DbType:database type
 
#DbType=oracle---------------------------------------------------------------
#jdbc.driver=oracle.jdbc.driver.OracleDriver
#jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:ora9i
#jdbc.username=gtcs
#jdbc.password=11
 
#SQL Server------------------------------------------------------------------
#jdbc.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
#jdbc.url=jdbc:microsoft:sqlserver:// localhost:1433;DatabaseName=wpgl
#jdbc.username=sa
#jdbc.password=
 
#My SQL----------------------------------------------------------------------
#jdbc.driver=com.mysql.jdbc.Driver
#jdbc.url=jdbc:mysql://127.0.0.1/ anydata?useUnicode=true&characterEncoding= utf-8
#jdbc.username=root
#jdbc.password=root
#select to_char(sysdate,'yyyy- mm-dd hh24:mi:ss') from dual
 
 
#jdbc.password=
 
#Aceess----------------------------------------------------------------------
jdbc.driver=sun.jdbc.odbc.JdbcOdbcDriver
#jdbc.url=jdbc:odbc:anydata
jdbc.url=jdbc\: odbc\:driver\={Microsoft Access Driver (*.mdb)};DBQ\=E\:\\workspace\\anyData003.mdb
jdbc.username=
jdbc.password=
 
#proxool db
#proxool.driver=oracle.jdbc.driver.OracleDriver
#proxool.url=jdbc:oracle:thin:@192.168.1.16:1521:ETLDBS
#proxool.username=report
#proxool.password=report
#proxool.alias=dbpool
#proxool.prototypeCount=5
#proxool.maximumConnectionCount=100
#proxool.minimumConnectionCount=10
 
 
jdbc.initialSize=1
jdbc.maxActive=30
jdbc.maxIdle=2
jdbc.minIdle=1
jdbc.timeBetweenEvictionRunsMillis= 3600000
jdbc.minEvictableIdleTimeMillis=3600000
 
#hibernate的配置信息
hibernate.show_sql=true
hibernate.dialect=org.hibernate.dialect.SQLServerDialect
hibernate.hbm2ddl.auto=update
hibernate.jdbc.fetch_size=10
hibernate.default_batch_fetch_size= 10
hibernate.connection.pool_size=1
hibernate.current_session_context_class= thread
hibernate.format_sql=true
hibernate.cache.provider_class=net.sf.ehcache.hibernate.SingletonEhCacheProvider
hibernate.cache.use_second_level_cache= true
hibernate.cache.use_query_cache=true
 
 
 
 
 
 
 
 
 
 
 
  
2.以下是spring配置DBCP,CP30及proxool连接池
 
<?xml version="1.0" encoding= "UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
       xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.directwebremoting.org/schema/spring-dwr
            http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd
            http://www.springframework.org/schema/aop
            http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-3.0.xsd
            http://www.springframework.org/schema/tx
            http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
            http://www.springframework.org/schema/mvc
            http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"
       default-autowire="byName" >
       <!-- Maps '/' requests to the 'home' view -->
 
 
 
       <!-- 加载属性文件 01-->
       <bean id= "propertyConfigurer"
             class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" >
             <property name="location" >
                   <value> classpath:jdbc.properties</value >
             </property>
 
       </bean>
 
       <!-- 加载属性文件 02-->
       <!--
            context:property- placeholder location="classpath:jdbc.properties" /
      -->
 
       <!-- C3P0数据库配置 详解 http://hi.baidu.com/guanmi/item/395667d1fa02371dd90e4457 -->
 
       <bean id= "c3p0" class ="com.mchange.v2.c3p0.ComboPooledDataSource"
             destroy-method="close" >
             <property name="driverClass" value="${jdbc.driver}" />
             <property name="jdbcUrl" value="${jdbc.url}" />
             <property name="user" value="${jdbc.username}" />
             <property name="password" value="${jdbc.password}" />
             <!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
             <property name="acquireIncrement" value="5" />
             <!-- 定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->
             <property name="acquireRetryAttempts" value="30" />
             <!-- 两次连接中间隔时间,单位毫秒。Default: 1000 -->
             <property name="acquireRetryDelay" value="1000" />
             <!-- 连接关闭时默认将所有未提交的操作回滚。Default: false -->
             <property name="autoCommitOnClose" value="false" />
             <!--
                  当连接池用完时客户端调用getConnection()后等待获取新连接的时间,超时后将抛出
                  SQLException,如设为0则无限期等待。单位毫秒。Default: 0
            -->
             <property name="checkoutTimeout" value="10000" />
             <!-- 每60秒检查所有连接池中的空闲连接。Default: 0 -->
             <property name="idleConnectionTestPeriod" value="60" />
             <!-- 初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->
             <property name="initialPoolSize" value="10" />
             <!-- 连接池中保留的最小连接数 -->
             <property name="minPoolSize" value="5" />
             <!-- 连接池中保留的最大连接数。Default: 15 -->
             <property name="maxPoolSize" value="30" />
             <!-- 最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
             <property name="maxIdleTime" value="60" />
             <!--
                  c3p0将建一张名为Test的空表,并使用其自带的查询语句进行测试。如果定义了这个参数那么
                  属性preferredTestQuery将被忽略。你不能在这张Test表上进行任何操作,它将只供c3p0测试 使用。Default:
                  null
            -->
             <property name="automaticTestTable" value="c3p0_TestTable" />
             <!--
                  获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效
                  保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试
                  获取连接失败后该数据源将申明已断开并永久关闭。Default: false
            -->
             <property name="breakAfterAcquireFailure" value="false" />
       </bean>
 
       <!-- BoneCP配置  bonecp-0.7.0.jar  bonecp-provider-0.7.0.jar  bonecp-spring-0.7.0.jar  google-collections-1.0.jar  slf4j-api-1.6.1.jar  slf4j-log4j12-1.6.1.jar   http://jolbox.com/index.html?page=http://jolbox.com/download.html-->
 
       <bean id= "bonecp" class ="com.jolbox.bonecp.BoneCPDataSource"
             destroy-method="close" >
             <property name="driverClass" value="${jdbc.driver}" />
             <property name="jdbcUrl" value="${jdbc.url}" />
             <property name="username" value="${jdbc.username}" />
             <property name="password" value="${jdbc.password}" />
             <!-- 检查数据库连接池中空闲连接的间隔时间,单位是分,默认值:240,如果要取消则设置为0 -->
             <property name="idleConnectionTestPeriodInMinutes" value="60" />
             <!-- 连接池中未使用的链接最大存活时间,单位是分,默认值:60,如果要永远存活设置为0 -->
             <property name="idleMaxAgeInMinutes" value="30" />
             <!-- 每个分区最大的连接数 -->
             <property name="maxConnectionsPerPartition" value="30" />
             <!-- 每个分区最小的连接数 -->
             <property name="minConnectionsPerPartition" value="10" />
             <!-- 分区数 ,默认值2,最小1,推荐3-4,视应用而定 -->
             <property name="partitionCount" value="3" />
             <!-- 每次去拿数据库连接的时候一次性要拿几个,默认值:2 -->
             <property name="acquireIncrement" value="5" />
             <!-- 缓存prepared statements的大小,默认值:0 -->
             <property name="statementsCacheSize" value="100" />
             <!-- 每个分区释放链接助理进程的数量,默认值:3,除非你的一个数据库连接的时间内做了很多工作,不然过多的助理进程会影响你的性能 -->
             <property name="releaseHelperThreads" value="3" />
       </bean>
 
       <!-- proxool 配置   proxool.jar -->
       <bean id= "proxool" class="org.logicalcobwebs.proxool.ProxoolDataSource" >
             <property name="driver" value="${jdbc.driver}" />
             <property name="driverUrl" value="${jdbc.url}" />
             <property name="user" value="${jdbc.username}" />
             <property name="password" value="${jdbc.password}" />
             <!--数据源的别名 -->
             <property name="alias" value="proxool_alias" />
             <!-- 空闲连接个数 默认为0 -->
             <property name="prototypeCount" value="4" />
             <!--最小连接数(默认5个) -->
             <property name="minimumConnectionCount" value="1" />
             <!--
                  最大连接数(默认15个),超过了这个连接数,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定
            -->
             <property name="maximumConnectionCount" value="30" />
             <!-- 如果侦察线程发现闲置连接,则会使用这个SQL语句来对这些连接进行检查 -->
             <property name="houseKeepingTestSql" value="select CURRENT_DATE" />
       </bean>
 
       <bean id= "dbcp" class ="org.apache.commons.dbcp.BasicDataSource"
             destroy-method="close" >
             <property name="driverClassName" value="${jdbc.driver}" />
             <property name="url" value="${jdbc.url}" />
             <property name="username" value="${jdbc.username}" />
             <property name="password" value="${jdbc.password}" />
             <!--连接池启动时的初始化 -->
             <property name="initialSize" value="1" />
             <!--连接池的最大值 -->
             <property name="maxActive" value="30" />
             <!-- 最大空闲值,当经过一个高峰时间后,连接池可以慢慢将已经用不到的链接慢慢释放一部分,一直减少到 maxle为止 -->
             <property name="maxIdle" value="2" />
             <!-- 最小空闲值,当空闲的连接数少于阀值时,连接池就会预申请去一些链接,以免洪峰来时来不及申请 -->
             <property name="minIdle" value="1" />
             <!-- 运行判断连接超时任务的时间间隔,单位为毫秒,默认为-1,即不执行任务。 -->
             <property name="timeBetweenEvictionRunsMillis" value="3600000" />
             <!-- 连接的超时时间,默认为半小时。 -->
             <property name="minEvictableIdleTimeMillis" value="3600000" />
       </bean>
 
</beans>
 
3.上面就是几中常用的连接池配置,需要下载相应的jar或者了解使用方法。

 

7
2
分享到:
评论
2 楼 zz563143188 2013-03-21  
suyulin6688 写道
还是 Druid 连接池更好用。

能否举例说优越性,或者把例子打出来看看
1 楼 suyulin6688 2013-03-21  
还是 Druid 连接池更好用。

相关推荐

    Spring+Hibernate+Proxool连接池

    本话题将深入探讨如何在Spring中整合Hibernate ORM框架,并结合Proxool连接池来实现高效、稳定的数据库连接管理。 标题“Spring+Hibernate+Proxool连接池”意味着我们将讨论如何将这三大组件集成在一起,以构建一个...

    proxool连接池配置详解

    Proxool是一个开源的轻量级Java数据库连接池实现,其主要目标是替代常见的数据库连接池解决方案,如C3P0或DBCP,并且提供了更加灵活和易于配置的特性。在实际应用中,合理配置Proxool可以显著提高系统的性能和稳定性...

    proxool连接池使用详细说明

    应用程序在需要数据库连接时,从Proxool连接池中请求一个连接。使用完毕后,必须将连接归还给连接池,以便其他线程可以复用。这个过程是透明的,通常通过JDBC的`getConnection()`和`close()`方法实现。 5. **连接...

    连接池与Spring,Hibernate结合

    这里我们将深入探讨连接池的概念,Spring框架中的数据源配置,以及Hibernate的集成,以及它们如何协同工作。 首先,连接池是一种资源管理技术,用于存储数据库连接。它预先创建一定数量的数据库连接,当应用需要时...

    proxool数据库连接池实例(带监控功能)

    Proxool与其他连接池如C3P0、DBCP等相比,具有配置灵活、监控能力强的特点。在Java应用中,Proxool能够与JDBC无缝集成,为应用程序提供高效的数据访问服务。 **Proxool的基本工作原理:** Proxool维护一个连接池,...

    proxool连接池

    尽管Proxool具有很多优点,但在现代开发中,更常见的是使用如HikariCP、C3P0、DBCP或Apache DBCP2等其他连接池。这些连接池在性能、稳定性、社区支持和功能方面可能更胜一筹。然而,Proxool 的简单性和易于配置使其...

    hibernate配置连接池大全

    本篇文章将详细介绍如何在Hibernate中配置各种连接池,以实现高效的数据访问。 一、连接池的概念与作用 连接池是数据库连接的一种管理机制,它预先创建并维护一定数量的数据库连接,当应用程序需要时可以从池中获取...

    hibernate 连接池配置详解

    - 在`hibernate.cfg.xml`文件中设置以下属性来配置DBCP连接池: ```xml &lt;property name="connection.provider_class"&gt;org.apache.commons.dbcp.BasicDataSource &lt;property name="dbcp.maxActive"&gt;100 ...

    hibernate3+ proxool-0.9.1配置 和proxool-0.9.1.jar

    3. **配置Hibernate**:在hibernate.cfg.xml中,设置`c3p0`或`dbcp`等默认的连接池为`proxool`,并指定Proxool的配置属性,例如: ```xml &lt;property name="connection.pool_size"&gt;10 &lt;property name="hibernate....

    HibernateADD (hibernate和spring整合,使用dbcp连接池方式连接数据库)

    本主题将深入探讨如何整合Hibernate ORM框架与Spring框架,并利用Apache DBCP(BasicDataSource)连接池来高效地管理数据库连接。让我们逐一解析这些知识点。 首先,Hibernate是一个流行的Java持久化框架,它简化了...

    SSH (Struts2+Spring3+Hibernate3) +Proxool_亲测成功 费大劲了.zip

    另一份文件`spring中以dataSource方式使用proxool连接池_2种方式.txt`可能详细介绍了两种在Spring中配置Proxool连接池的方法。通常,可以通过XML配置或Java配置来设置数据源。在XML配置中,可以使用`...

    hibernate配置数据库连接池的三种方法

    在Hibernate中配置数据库连接池,可以使数据库操作更加高效和便捷。这里有两种常见的配置方法: 1. **C3P0**: C3P0 是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在...

    mysqlproxool连接池

    数据库连接池在初始化时创建一定数量的数据库连接,并将它们保存在池中。当应用程序需要访问数据库时,不是直接创建新的连接,而是从池中获取一个已经存在的连接。使用完毕后,连接会返回到池中,而不是关闭,以便...

    Proxool 在 Hibernate 中的典型配置

    鉴于Hibernate官方不再支持DBCP并推荐使用Proxool或C3P0,了解Proxool在Hibernate中的配置显得尤为重要。 配置Proxool通常涉及创建一个名为proxool.xml的配置文件,这个文件通常放置在应用程序的src根目录下,与...

    Hibernate2和Hibernate3连接池配置.doc

    本文将详细讲解Hibernate2和Hibernate3中如何配置连接池,以及官方推荐的C3P0、Proxool和DBCP等连接池的使用。 首先,我们需要了解的是,Hibernate2和Hibernate3对连接池的支持有所不同。在Hibernate2中,Apache的...

    proxool 连接池实例

    与C3P0、DBCP、HikariCP等其他连接池相比,Proxool在小型项目或测试环境中表现出色,尤其适合那些对资源管理和性能调整有特定需求的场景。 **二、Proxool的工作原理** Proxool维护了一个连接池,当应用程序需要...

    Hibernate连接池的各种配置

    需要注意的是,虽然标签中提到了`proxool`,但在实际配置中,Hibernate的连接池配置通常是基于C3P0或者HikariCP等其他连接池实现。这里可能是由于混淆,但Proxool确实是一个早期的连接池实现,已被Apache废弃。在...

    spring3+hibernate4+springmvc+druid连接池

    【标题】"spring3+hibernate4+springmvc+druid连接池"是一个常见的Java Web开发中的技术栈整合,其中包含了Spring框架的三个主要组件:Spring Core、Spring MVC和Hibernate ORM,以及Druid数据库连接池。这个组合常...

Global site tag (gtag.js) - Google Analytics