java.sql.SQLException: Already closed.

java.sql.SQLException: Already closed.

 








 
##毫秒秒检查一次连接池中空闲的连接 jdbc.timeBetweenEvictionRunsMillis=60000 ##连接保持空闲而不被驱逐的最长时间。 jdbc.minEvictableIdleTimeMillis=300000  jdbc.validationQuery=SELECT 'x'  jdbc.testWhileIdle=true  jdbc.testOnBorrow=false  jdbc.testOnReturn=false
 

解决办法:为数据库配置文件设置以上参数。

1:testOnBorrow表示从连接池中获取连接前是否运行。

2:validationQuery,true=运行[默认],false=不运行testOnBorrow在不设置的时候默认为false,设置为false就是默认不检测连接池是否连接可用,当连接池中的连接被数据库关闭的情况下,就会报这个错,连接被关闭。如果单纯的设为true,也不好,每次运行都要进行检查,影响效率。

3:testWhileIdle =false  指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除.用这个参数就可以判断什么时候检测连接池是否可用。

 

你可能感兴趣的:(数据库及缓存,Spring)