完整警告如下:
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:43)

意思是注册过jdbc‘驱动,但是在容器关闭时没有注销,并且是在开启了一个AbandonedConnectionCleanupThread线程中的。 所以为了内存避免泄露,就强制注销了驱动。
都说是一个保护机制,并不是问题,可以忽略。但是存在总让人不舒服。

我查看了一下spring配置文件的关系数据元配置的位置发现没有init-method="init"与destroy-method="close"方法。
init-method="init"是指bean被初始化时执行的方法,当bean实例化后,执行init-method用于初始化数据库连接池。
destroy-method=“close” 是指bean被销毁时执行的方法 Spring容器关闭时调用该方法即调用close()将连接关闭。

添加方法后警告就没有了。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐