問題: mysql
ssh+mysql項目,數據源爲dbcp,隔夜後訪問會出現下列錯誤
sql
Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionException: JDBC begin failed: ...
緣由: shell
mysql存在一項屬性「wait_timeout」,默認值爲28800秒(8小時),
經過下面口令能夠查看 ssh
mysql> show global variables like 'wait_timeout';其意思爲mysql的一個connection空閒時間超過8小時,mysql會自動斷開該鏈接。
解決方法: hibernate
修改dbcp配置: code
timeBetweenEvictionRunsMillis = 20000 minEvictableIdleTimeMillis = 28700「timeBetweenEvictionRunsMillis 」 dbcp每2000秒進行一次connection的檢驗, 「minEvictableIdleTimeMillis 」 每次檢驗中將超過28700秒處於空閒的connection斷開