.NET开源应用程序框架 HYAppFrame

请参考开发指南《31天学会CRM项目开发(C#编程入门及项目实战)》

为什么要配置c3p0?

什么是c3p0?
C3P0是一个开放源代码的JDBC连接池,Hibernate的发行包中默认使用此连接池。

为什么要配置c3p0?
MySql数据库连接默认最长时间是8小时,如果超过这个时间,MySQL操作将会失败,所以必须设置c3p0,除非你能保证8小时内至少有人访问或使用这个连接。也就是说,c3p0主要的工作是隔断时间就自动使用一下数据库连接。

如何配置?

在hibernate.cfg.xml添加如下代码

    <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
    <property name="hibernate.c3p0.min_size">2</property>
    <property name="hibernate.c3p0.max_size">200</property>
    <property name="hibernate.c3p0.timeout">600</property>
    <property name="hibernate.c3p0.max_statements">0</property>
    <property name="hibernate.c3p0.idle_test_period">120</property>
    <property name="hibernate.c3p0.acquire_increment">2</property>
    <property name="hibernate.c3p0.validate">true</property>


值得注意的是hibernate.c3p0.timeout并不是越大越好,同时一定要注意MySQL的连接是否超过了最大限制,最好将MySQL的wait_timeout=28800改小一点。可以通过show processlist观察当前连接数。

minioa中使用的是c3p0-0.9.1.jar

MySQL未配置c3p0容易出现的错误:http://www.minioa.net/viewtopic.php?f=21&t=286

未确认Oracle或MSSQL是否需要配置c3p0?

更多文章:http://www.minioa.net/viewtopic.php?f=7&t=287


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/daiqianjie/article/details/6884029
个人分类: 跟我一起学MiniOA
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭