`

spring c3p0

 
阅读更多
C3P0在spring中的配置
2007-01-30 11:29
今天需要将c3p0 再 spring 配置,来解决mysql 8个小时以后断开连接的问题。 找了一些资料。发现都不是很正确。   没有从根本上解决这个问题。 今天转一个老哥的文章。 希望对大家有用处。 我正在测试8小时以后会不会断开连接 。我先把文章写出来。稍后再告诉大家结果。

-------------------------------------------------------以下是转的内容-------------------------------------------------


经过N多试验,终于自己把这个问题搞定了。

网上关于C3P0在spring中的配置,几乎没有完全正确的(至少我还没发现)。查了c3p0的文档,又试验过N次。得出如下配置是正确的:


<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"    destroy-method="close">
          <property name="driverClass"><value>${jdbc.driverClassName}</value></property>
          <property name="jdbcUrl"><value>${jdbc.url}</value></property>              
          <property name="user"><value>${jdbc.username}</value></property>
          <property name="password"><value>${jdbc.password}</value></property>
         
          <property name="minPoolSize"><value>1</value></property>
          <property name="maxPoolSize"><value>20</value></property>
          <property name="maxIdleTime"><value>1800</value></property>
          <property name="acquireIncrement"><value>2</value></property>
          <property name="maxStatements"><value>0</value></property>
          <property name="initialPoolSize"><value>2</value></property>
          <property name="idleConnectionTestPeriod"><value>1800</value></property>
          <property name="acquireRetryAttempts"><value>30</value></property>
          <property name="breakAfterAcquireFailure"><value>true</value></property>
          <property name="testConnectionOnCheckout"><value>false</value></property>
        
          <!--
             <property name="properties">
           <props>             
               <prop key="c3p0.minPoolSize">1</prop>
               <prop key="c3p0.maxPoolSize">10</prop>
               <prop key="c3p0.maxIdleTime">1800</prop>             
               <prop key="c3p0.acquireIncrement">2</prop>
               <prop key="c3p0.maxStatements">0</prop>
                     <prop key="c3p0.initialPoolSize">2</prop>
               <prop key="c3p0.idleConnectionTestPeriod">1800</prop>
               <prop key="c3p0.acquireRetryAttempts">30</prop>
               <prop key="c3p0.breakAfterAcquireFailure">true</prop>
               <prop key="c3p0.testConnectionOnCheckout">true</prop>
               <prop key="user">root</prop>
               <prop key="password">999999</prop>
             
           </props>
          </property>
         -->     
</bean>

<!-- Hibernate SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
   <property name="dataSource" ref="dataSource"/>
   <property name="mappingDirectoryLocations">
       <list>
    <value>classpath:/com/licaionline/domain/</value>
       </list>
   </property>
   <property name="hibernateProperties">
    <props>
     <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
      <prop key="hibernate.show_sql">true</prop>
     <prop key="hibernate.generate_statistics">true</prop>
                 <prop key="hibernate.connection.release_mode">auto</prop>                     
                 <prop key="hibernate.autoReconnect">true</prop>
                 <prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
                 <!--
     <prop key="hibernate.useUnicode"></prop>
     <prop key="hibernate.characterEncoding"></prop>
     <prop key="hibernate.default-lazy-init"></prop>
                 <prop key="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</prop>    
     -->
                               
                 <!--
                 <prop key="hibernate.c3p0.acquire_increment">2</prop>
                 <prop key="hibernate.c3p0.idle_test_period">1800</prop>
                 <prop key="hibernate.c3p0.timeout">1800</prop>
                 <prop key="hibernate.c3p0.max_size">30</prop>
                 <prop key="hibernate.c3p0.min_size">2</prop>
                 <prop key="hibernate.c3p0.max_statements">50</prop>
     -->        
    </props>
   </property>
</bean>



注意:注释掉的那些,都是错误的。网上流行的,基本上跟注释掉的那些差不多。配错了,并无异常,还是能正常使用。但是所作的配置不起作用。
分享到:
评论

相关推荐

    spring c3p0小例子

    总的来说,"spring c3p0小例子"是一个关于如何在Spring项目中集成C3P0连接池的示例,通过Maven管理依赖,配置C3P0数据源,以及创建和配置DAO来执行数据库操作。这个例子可以帮助开发者理解Spring与C3P0结合使用时的...

    spring c3p0配置详解

    Spring C3P0 配置详解 C3P0 是一个开源的 JDBC 连接池,它实现了数据源和 JNDI 绑定,支持 JUnit 和 Jakarta 构架。在 Spring 框架中集成 C3P0,可以有效地管理数据库连接,提高系统的性能和稳定性。下面我们将详细...

    spring 配置c3p0

    在Spring框架中,数据库连接管理是一项关键任务,而C3P0是一个开源的JDBC连接池,它提供了数据源管理,能有效提升数据库操作的性能和效率。本篇将详细介绍如何在Spring中配置C3P0连接池。 首先,我们需要理解C3P0的...

    mysql spring c3p0/dbcp/dbUtils工具支持包

    [Database-support-package]-数据库需要用到的-c3p0/dbcp/dbUtils工具支持包 [Hibernate]利用Hibernate进行一对多的级联操作-Web实例 [Java_MySQL_jar]-数据库连接支持包 [JavaMail]-收发邮件支持包 [Java_MySQL_jar...

    c3p0连接池jar包以及Spring对c3p0的依赖包

    1. **引入依赖**:首先,在项目的`pom.xml`或`build.gradle`文件中添加C3P0和Spring JDBC的相关依赖。 2. **配置C3P0**:在Spring的配置文件(如`applicationContext.xml`)中,定义C3P0的数据源bean,包括数据库...

    springMVC整合C3P0连接池

    在Spring的配置文件(如`applicationContext.xml`)中,添加C3P0的数据源bean定义,例如: ```xml &lt;bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"&gt; &lt;!-- C3P0 连接池的配置...

    spring + c3p0 连接池

    Spring框架作为一个强大的应用框架,提供了与多种数据库连接池集成的能力,其中包括C3P0。本示例将深入探讨如何在Spring项目中配置并使用C3P0连接池,以实现高效、稳定的数据库连接管理。 **一、Spring框架简介** ...

    springmvc-CloudServer—maven基础配置+mysql+c3p0 项目基础搭建

    spring.datasource.c3p0.acquireIncrement=3 spring.datasource.c3p0.minSize=5 spring.datasource.c3p0.maxSize=20 spring.datasource.c3p0.timeout=300 ``` **4. SpringMVC框架** SpringMVC是Spring框架的一个...

    spring_c3p0_配置

    ### Spring与C3P0数据源配置详解 #### 一、Spring框架简介 Spring框架是一个开源的Java平台,它提供了一种全面的方式来构建应用程序。Spring的核心特性包括依赖注入(Dependency Injection, DI)和面向切面编程...

    Spring通过c3p0配置bean连接数据库

    Spring 通过 C3P0 配置 Bean 连接数据库 Spring 框架是一种流行的 Java 应用程序框架,它提供了许多功能强大且灵活的特性,包括依赖注入、 AOP、MVC 等。其中,连接数据库是 Spring 应用程序中一个非常重要的环节。...

    c3p0连接池参数配置

    在IT行业的数据库管理领域,C3P0是一个广泛使用的开源连接池组件,它为Java应用程序提供了高效、稳定的数据库连接管理服务。C3P0通过预维护一定数量的数据库连接,避免了频繁创建和销毁数据库连接所带来的性能开销,...

    SSH - SpringMVC4 + Spring4 + Hibernate4 + c3p0 + Mysql.zip

    在本项目"SSH - SpringMVC4 + Spring4 + Hibernate4 + c3p0 + Mysql.zip"中,开发者使用了SpringMVC4作为表现层,Spring4作为控制层和服务层,Hibernate4作为持久层,c3p0作为数据库连接池,以及MySQL作为数据库。...

    idea 使用spring自带的定时器quartz 使用的c3p0 v0.95.2所包含的jar

    集成`c3p0`到`Spring`项目中,你需要在`Spring`的配置文件中添加以下配置: ```xml &lt;bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"&gt; &lt;!-- 其他可配置参数 --&gt; ``` 接下来,...

    c3p0用法步骤

    综上所述,使用C3P0管理数据库连接的关键在于正确配置`init.properties`文件,以及将其与Spring框架集成,从而实现高效、稳定的数据库连接管理。这不仅能够显著提升应用的性能,还能简化数据库操作的复杂性,是Java ...

    C3P0相关的JAR包

    在代码中,可以通过DataSource接口获取数据库连接,例如使用Spring框架时,可以在Bean配置中注入C3P0的数据源,如下: ```java @Resource(name = "myDataSource") private DataSource dataSource; public ...

    c3p0-0.9.2.1 jar包.rar

    在Spring框架中,C3P0被默认支持,使得开发者能够方便地在应用程序中集成和使用。 C3P0的核心功能包括: 1. **连接池管理**:C3P0会维护一个数据库连接池,当应用程序需要访问数据库时,可以从池中获取一个已存在...

    C3P0使用,C3P0源码及实例

    在实际应用中,我们可以使用Spring框架来集成C3P0,以下是一个简单的Spring配置示例: ```xml &lt;bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"&gt; &lt;!-- ...

    C3P0连接池配置需要的jar包

    配置C3P0连接池时,开发者通常需要在配置文件(如Hibernate的`hibernate.cfg.xml`或Spring的`applicationContext.xml`)中指定以下参数: - `driver_class`: 数据库驱动类名,例如`com.mysql.jdbc.Driver`。 - `...

Global site tag (gtag.js) - Google Analytics