以上报错是由于数据库连接池链接失效导致
Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionException: JDBC begin transaction failed:
经过测试发现是和mysql数据库的参数有关
show global variables like 'wait_timeout';
mysql数据库有一个最大空闲时间默认wait_timeout 8小时
通过这个语句设置空闲时间,你要调试可以把这个时间设置很小。
SET GLOBAL wait_timeout=600;
查看项目中的连接方式为DBCP
当使用DBCP时,数据库连接因为某种原因断掉后,再从连接池中取得连接又不进行验证,这时取得的连接实际已经时无效的数据库连接了
@Configuration
public class DBConfig {
@Bean(destroyMethod="close",name="basicDataSource")
public BasicDataSource getLocalFormalDataSource