小墨の博客

梦想需要付诸行动,否则只能是梦

discard long time none received connection. , jdbcUrl:

用druid数据库链接,日志中一直在报 Error,内容是 discard long time none received connection. , jdbcUrl:

原因:阿里他们给数据库设置的数据库空闲等待时间是60秒,mysql数据库到了空闲等待时间将关闭空闲的连接,以提升数据库服务器的处理能力。MySQL的默认空闲等待时间是8小时,就是「wait_timeout」的配置值。如果数据库主动关闭了空闲的连接,而连接池并不知道,还在使用这个连接,就会产生异常。

解决办法:

在运行参数中增加

-Ddruid.mysql.usePingMethod=false


其他解决方法(未测试):更新版本。druid的版本问题,在pom配置文件里,更新最druid版本可以解决。


扩展

testWhileIdle:是否开启获取连接是检查连接是否有效,默认true。

timeBetweenEvictionRunsMillis:空闲时间大于检查时间,注销空闲连接超过

timeBetweenEvictionRunsMillis的数据库连接,默认60s,设置未负数也会调整未默认值

Ddruid.mysql.usePingMethod: 是否是用ping的方式检查数据库连接,超过1秒失败,mysql连接默认开启。设置方式:-Ddruid.mysql.usePingMethod=false,当usePingMethod为false时,会使用“select 1”使用连接进行查询检查连接是否有效,因此不会出现空闲时间。

张小弟之家

本文链接:
文章标题:

本站文章除注明转载/出处外,均为原创,若要转载请务必注明出处。转载后请将转载链接通过邮件告知我站,谢谢合作。本站邮箱:admin@only4.work

尊重他人劳动成果,共创和谐网络环境。点击版权声明查看本站相关条款。

    发表评论:

    搜索
    本文二维码
    标签列表
    站点信息
    • 文章总数:511
    • 页面总数:20
    • 分类总数:92
    • 标签总数:208
    • 评论总数:62
    • 浏览总数:231783

    | | |
    | |  Z-Blog PHP