Druid The last packet successfully received from the server was xxx milliseconds ago

产生的原因:应用方的数据库连接有效期时间,大于数据库自己设置的有效期。

解决方案:

一、修改druid配置(如果使用druid的话)
#处理数据库连接的 Communications link failure 异常
#druid数据库连接的心跳检测,防止数据库断开连接
spring.datasource.druid.keep-alive=true
#配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.druid.time-between-eviction-runs-millis=10000
#单位:秒,检测连接是否有效的超时时间
spring.datasource.druid.validation-query-timeout=3
#配置一个连接在池中最小生存的时间
spring.datasource.druid.min-evictable-idle-time-millis=30000
#连接池里的连接的最大生存时间 ,单位是毫秒 2h
spring.datasource.druid.max-evictable-idle-time-millis=7200000
spring.datasource.druid.validation-query=SELECT 1
#申请连接时会执行validationQuery检测连接是否有效,开启会降低性能,默认为true
spring.datasource.druid.test-on-borrow=false
##归还连接时会执行validationQuery检测连接是否有效,开启会降低性能,默认为true
spring.datasource.druid.test-on-return=false
##申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
spring.datasource.druid.test-while-idle=true

你可能感兴趣的:(微服务,mysql)