java spring c3p0 jdbc 连接数一直往上走,直到跑满,网站就打不开了,本地测试没问题


用的是阿里云,刚买的,网站就我自己测试

db.properties


 nginx


 jdbc.acquireIncrement=5
jdbc.initPoolSize=20
jdbc.minPoolSize=10
jdbc.maxPoolSize=600

jdbc.maxStatements=20
jdbc.maxStatementsPerConnection=5
jdbc.idleConnectionTestPeriod=60

applicationContext.xml


 xml


 <!-- 导入资源文件 -->
    <context:property-placeholder location="classpath:db.properties" />

    <!-- 配置 C3P0 数据源 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
        destroy-method="close">
        <property name="user" value="${jdbc.user}"></property>
        <property name="password" value="${jdbc.password}"></property>
        <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
        <property name="driverClass" value="${jdbc.driverClass}"></property>

        <property name="acquireIncrement" value="${jdbc.initPoolSize}"></property>
        <property name="initialPoolSize" value="${jdbc.initPoolSize}"></property>
        <property name="minPoolSize" value="${jdbc.minPoolSize}"></property>
        <property name="maxPoolSize" value="${jdbc.maxPoolSize}"></property>

        <property name="maxStatements" value="${jdbc.maxStatements}"></property>
        <!-- 每60秒检查所有连接池中的空闲连接.Default:0 -->  
        <property name="idleConnectionTestPeriod" value="${jdbc.idleConnectionTestPeriod}"/>
        <!-- 
        <property name="maxStatementsPerConnection" value="${jdbc.maxStatementsPerConnection}"></property>
         -->
    </bean>

    <!-- 配置 Spirng 的 JdbcTemplate -->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"></property>
    </bean>

    <!-- 配置事务管理器 -->
    <bean id="transactionManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>

    <!-- 启用事务注解 -->
    <tx:annotation-driven transaction-manager="transactionManager" />


    <!-- 配置 bean -->
    <!-- 配置 bean model 包 -->

图片描述

图片描述

java jdbc c3p0 jdbcTemplate spring

eelmon 10 years, 3 months ago

 <!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 --> 
<property name="maxIdleTime">60</property>

我靠你谁啊 answered 10 years, 3 months ago

http://blog.csdn.net/wangking717/article/details/4491702
这里有你要的答案, 要善于利用度娘搜寻答案.
关键的配置
60 , 这个default是0, 如果网站繁忙的话,
建议设置小一些.

撸炮大魔王 answered 10 years, 3 months ago

Your Answer