ffhelly
ffhelly
2011-11-01 15:44
浏览 292
已采纳

SPRING 如何处理 闲置时间后的数据库自动关闭的问题

TOMCAT
ORACLE
现在情况是 定期一段时间不操作的话 就会自动断开与数据库的连接。

网上找了一些关于SPRING的配置 不过不起效果。。

求解答。

3



180

180
180

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • aa1aa3
    爱上一条鱼 2011-11-03 16:45
    已采纳

    这个 断开的频率也太高了吧 故意是数据库服务器端的配置问题吧 不是spring的原因。。。。

    参考 http://jzhil2004.blog.163.com/blog/static/2755850420101183035104/

    点赞 评论
  • aa1aa3
    爱上一条鱼 2011-11-01 16:20

    你用的是C3P0连接池嚒?。。。有加了C3P0的jar包嚒。。。

    点赞 评论
  • aa1aa3
    爱上一条鱼 2011-11-01 17:02

    destroy-method="close">







    <property name="initialPoolSize">3</property>  
    <property name="minPoolSize" value="1"></property>   
    <property name="maxIdleTime">180</property>   
    <property name="idleConnectionTestPeriod">180</property> 
    <property name="hibernate.c3p0.timeout">180</property>  
    



    加个 testConnectionOnCheckout 属性试试

    点赞 评论
  • aa1aa3
    爱上一条鱼 2011-11-02 13:56

    这个是我以前项目里可以用的配置,不过是mysql的 driverClass和jdbcUrl改改就可以了
    试试先 automaticTestTable会自动创建表c3p0Test 不用手动添加的

    [code="java"]
    class="com.mchange.v2.c3p0.ComboPooledDataSource"
    destroy-method="close">
    value="com.mysql.jdbc.Driver" />
    value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8" />

        <property name="minPoolSize" value="5" />  
        <property name="maxPoolSize" value="30" />
        <property name="initialPoolSize" value="10" />
        <property name="acquireIncrement" value="5" />  
    
        <property name="maxIdleTime" value="60" />
    
    <property name="automaticTestTable" value="c3p0Test" /> 
    <property name="idleConnectionTestPeriod" value="18000"/>
    <property name="testConnectionOnCheckout" value="true"/>
    </bean>
    

    [/code]

    点赞 评论
  • aa1aa3
    爱上一条鱼 2011-11-03 16:45

    这个 断开的频率也太高了吧 估计是数据库服务器端的配置问题吧 不是spring的原因。。。。

    参考 http://jzhil2004.blog.163.com/blog/static/2755850420101183035104/

    点赞 评论

相关推荐