使用DHCP数据库重启后请求不会报错,使用druid会报The last packet successfully received from the server was 21,891 milliseconds ago异常
原提问者GitHub用户YanXs
在使用Druid连接池时,如果数据库重启后长时间没有请求,连接池中的连接可能会被数据库服务器关闭,导致应用程序无法使用连接。当应用程序尝试使用这些已关闭的连接时,就会出现The last packet successfully received from the server was 21,891 milliseconds ago异常。
这个异常通常是由于MySQL服务器的wait_timeout参数过小导致的。wait_timeout参数用于指定MySQL服务器在关闭空闲客户端连接之前等待的时间,如果设置过小,就会导致连接被过早关闭。
解决办法我觉得有两种方式(单库无负载均衡):1,如果数据库重启,重启对应的应用。2,如果对性能要求一般,开启testOnBorrow。
原回答者GitHub用户YanXs
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。