什么是c3p0?
C3P0是一个开放源代码的JDBC连接池,Hibernate的发行包中默认使用此连接池。
为什么要配置c3p0?
MySql数据库连接默认最长时间是8小时,如果超过这个时间,MySQL操作将会失败,所以必须设置c3p0,除非你能保证8小时内至少有人访问或使用这个连接。也就是说,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
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