异常Could not create connection to database server. Attempted reconnect 3 times. Giving up.解决方案以及原因
出现以上异常的原因:
当一个连接的空闲时间超过8小时后,MySQL 就会断开该连接,而连接池则以为该被断开的连接依然有效。在这种情况下,如果客户端代码向连接池请求连接的话,连接池就会把已经失效的连接返回给客户端,客户端在使用该失效连接的时候即抛出异常。
解决方案:
在连接数据库的url后面添加如下
#指明是否在从池中取出连接前进行检验!
testOnBorrow=true
#检验SQL语句,其目的就是为了防止8小时无活动断开保活连接池与mysql之间的连接!
validationQuery=select 1
如下所示:
jdbc.url=jdbc:mysql://192.168.9.102:3306/jeuc_2_1?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false&testOnBorrow=true&validationQuery=select 1