为什么要配置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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值