为什么 Mybatis 和 Spring 中出现'com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications Link Failure”?

Susan Sarandon
发布: 2024-11-16 10:05:02
原创
417 人浏览过

Why Am I Getting

“com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障软件导致连接中止:recv 失败[重复]”

问题:

使用 Mybatis 更新 MySQL 中的记录时Spring,遇到异常,socket读取错误导致通信链路失败:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 18,940 milliseconds ago.  The last packet sent successfully to the server was 18,918 milliseconds ago.
登录后复制

原因:

MySQL连接在连接池之前超时识别它们。

解决方案:

解决此问题问题,可以采取以下几种方法:

  1. 增加 MySQL 配置文件(my.ini)中的超时值:

    增加中的 wait_timeout 参数MySQL 配置文件 (my.ini) 以延长允许的空闲时间

  2. 减少连接池中的空闲时间:

    配置连接池以在 MySQL 关闭连接之前丢弃连接。这可以通过为 minIdle 和 maxIdle 时间参数设置较低的值来实现。

  3. 添加验证连接查询:

    添加验证查询到连接池配置。此查询可确保池在发出连接之前测试每个连接。然而,这种方法可能会带来性能开销。

以上是为什么 Mybatis 和 Spring 中出现'com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications Link Failure”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板