Heim >Datenbank >MySQL-Tutorial >Mysql的wait_timeout解决_MySQL

Mysql的wait_timeout解决_MySQL

WBOY
WBOYOriginal
2016-06-02 08:49:494114Durchsuche

bitsCN.com


Mysql的wait_timeout解决

 

问题:

ssh+mysql项目,数据源为dbcp,隔夜后访问会出现下列错误

1

Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionException: JDBC begin failed:

2

...

原因:

 

mysql存在一项属性“wait_timeout”,默认值为28800秒(8小时),

通过下面口令可以查看

 

1

mysql> show global variables like 'wait_timeout';

其意思为mysql的一个connection空闲时间超过8小时,mysql会自动断开该连接。 

由于dbcp没有检验该connection是否有效,所以用其进行数据操作便会出现异常。

 

解决方法:

修改dbcp配置:

 

1

timeBetweenEvictionRunsMillis = 20000 

2

minEvictableIdleTimeMillis = 28700

“timeBetweenEvictionRunsMillis ”  dbcp每2000秒进行一次connection的检验, 

“minEvictableIdleTimeMillis ” 每次检验中将超过28700秒处于空闲的connection断开

 

bitsCN.com
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn