解决Mysql连接池被关闭 ,hibernate尝试连接不能连接的问题。 (默认mysql连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池。系统发布第二天访问链接关闭问
Posted 牵手的承诺1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决Mysql连接池被关闭 ,hibernate尝试连接不能连接的问题。 (默认mysql连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池。系统发布第二天访问链接关闭问相关的知识,希望对你有一定的参考价值。
解决mysql连接池被关闭 ,hibernate尝试连接不能连接的问题。
(默认MySQL连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池。
所以系统发布第二天访问会失去链接,导致访问失败。因此稳定解决办法是把hibernate默认的连接池换成c3p0链接池。
在Hibernate(spring管理)中的配置:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass"><value>oracle.jdbc.driver.OracleDriver</value></property>
<property name="jdbcUrl"><value>jdbc:oracle:thin:@localhost:1521:Test</value></property>
<property name="user"><value>Kay</value></property>
<property name="password"><value>root</value></property>
<!--连接池中保留的最小连接数。-->
<property name="minPoolSize" value="10" />
<!--连接池中保留的最大连接数。Default: 15 -->
<property name="maxPoolSize" value="100" />
<!--最大空闲时间,1800秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
<property name="maxIdleTime" value="1800" />
<!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
<property name="acquireIncrement" value="3" />
<property name="maxStatements" value="1000" />
<property name="initialPoolSize" value="10" />
<!--每60秒检查所有连接池中的空闲连接。Default: 0 -->
<property name="idleConnectionTestPeriod" value="60" />
<!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->
<property name="acquireRetryAttempts" value="30" />
<property name="breakAfterAcquireFailure" value="true" />
<property name="testConnectionOnCheckout" value="false" />
</bean>
相关参考文章:
1,http://blog.csdn.net/caodegao/article/details/8553496
2.http://blog.csdn.net/vebasan/article/details/5059000
3.http://blog.csdn.net/dracotianlong/article/details/7823622
4.http://blog.163.com/[email protected]/blog/static/937459612011118115418199/
以上是关于解决Mysql连接池被关闭 ,hibernate尝试连接不能连接的问题。 (默认mysql连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池。系统发布第二天访问链接关闭问的主要内容,如果未能解决你的问题,请参考以下文章
如何使用休眠将mysql与Java连接?例外:没有名为 org.hibernate.tutorial_jpa 的 EntityManager 的持久性提供程序 [关闭]
我的 spring+hibernate 应用程序没有关闭 jdbc 连接
hibernate +mysql 采用默认的连接池,8小时后自动断开连接怎么解决,求大神指点
tomcat 7.0.42 pooling, hibernate 4.2, mysql 坚如磐石的自动重新连接解决方案