最近在给项目的依赖进行升级,当 Alibaba Druid 依赖从低版本升级至 1.2.5 时,项目正常运行,但是查看日志的时候,发现有以下异常:

2021-09-26 05:09:00.009  WARN 8961 --- [      Thread-18]
c.a.druid.pool.DruidAbstractDataSource   : discard long time none received connection. ,
jdbcUrl : jdbc:mysql://localhost:3306/xxxxxx?serverTimezone=UTC, version : 1.2.5,
lastPacketReceivedIdleMillis : 120000

项目虽然报错,但是却不影响正常运行。搜索相关解决方案,得到的结果 98% 是:

设置 druid.mysql.usePingMethod 为 false

但是几乎没有说明在哪里设置、如何设置为 false。

解决这个问题其实也简单,在项目的 Alibaba Druid 配置类中加入以下代码:

@PostConstruct
public void setUsePingMethod(){
    System.setProperty("druid.mysql.usePingMethod", "false");
}

重新启动项目,观测日志,不再出现错误信息,解决!