四种方法实现Mysql中JDBC如何实现自动重连机制

MySQL为什么莫名其妙的断开连接以及解决方案 前言 最近遇到在将本地的项目部署到服务器上之后遇到的一个奇怪问题 在部署完成后,网站当时可以正常工作,但是第二天访问网站的时候却会遇到一个500 Server Error。 从日志中可以看出是MySQL数据库出现了异常 翻译: 最后一个数据包在 83827560 ms 之前被成功接收,最后一个数据包在83827560 ms 之前被成功发送。比服务的配置参数wait_timeout的值要长。 日志中给出的建议如下 翻译: 你应考虑在程序中进行数据库操作之前检验数据库连接的有效性或者将数据库的auto 阅读详情

最近在工作中发现了一个问题,通过查找相关的资料终于解决了,下面这篇文章主要给大家介绍了关于JDBC实现Mysql自动重连机制的相关资料,文中给出多种解决的方法,需要的朋友可以参考借鉴,下面来一起看看吧。

 

前言

本文主要给大家介绍的是关于JDBC实现Mysql自动重连机制的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:

日志:using the Connector/J connection property 'autoReconnect=true' to avoid this problem

com.mysql.jdbc.CommunicationsException: The last packet successfully received from the server was58129 seconds ago.The last packet sent successfully to the server was 58129 seconds ago, which is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

查了一下,原来是MySQL超时设置的问题

如果连接闲置8小时 (8小时内没有进行数据库操作), mysql就会自动断开连接, 要重启tomcat.

解决办法:

第一种:如果不用hibernate的话, 则在 connection url中加参数: autoReconnect=true

jdbc.url=jdbc:mysql://ipaddress:3306/database?autoReconnect=true&autoReconnectForPools=true

第二种:用hibernate的话, 加如下属性:

true true true

第三种:要是还用c3p0连接池:

1 0 0 true

第四种:最不好的解决方案

使用Connector/J连接MySQL数据库,程序运行较长时间后就会报以下错误:

Communications link failure,The last packet successfully received from the server was *** millisecond ago.The last packet successfully sent to the server was *** millisecond ago。

其中错误还会提示你修改wait_timeout或是使用Connector/J的autoReconnect属性避免该错误。

后来查了一些资料,才发现遇到这个问题的人还真不少,大部分都是使用连接池方式时才会出现这个问题,短连接应该很难出现这个问题。

这个问题的原因:

MySQL服务器默认的“wait_timeout”是28800秒即8小时,意味着如果一个连接的空闲时间超过8个小时,MySQL将自动断开该 连接,而连接池却认为该连接还是有效的(因为并未校验连接的有效性),当应用申请使用该连接时,就会导致上面的报错。

⑴.按照错误的提示,可以在JDBC URL中使用autoReconnect属性,实际测试时使用了autoReconnect=true& failOverReadOnly=false,不过并未起作用,使用的是5.1版本,可能真像网上所说的只对4之前的版本有效。

⑵.没办法,只能修改MySQL的参数了,wait_timeout最大为31536000即1年,在my.cnf中加入:

[mysqld] wait_timeout=31536000 interactive_timeout=31536000

重启生效,需要同时修改这两个参数。

总结

以上就是Mysql中JDBC如何实现自动重连机制的实例的详细内容,有更好的方法各位大佬也告知一下。

mysql 报com.mysql.jdbc.exceptions.jdbc4.CommunicationsException 早上看日志发现连接超时报错: Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was48477 seconds ago.The last packet sent successfully to the s 阅读详情

相关推荐

数据库重连 - 方案

自动重连机制:在连接断开时自动重连是最常见的解决方案。连接池:对于高并发的场景,连接池可以有效管理和复用连接。定时保持连接活跃:可以通过定时查询等手段确保连接不被意外关闭。异常处理:使用合适的异常处理,确保在连接失败时能够捕获并恢复。如果你有更具体的错误或情景,可以进一步讨论优化方案。

tianyu的专栏 - Linux site:blog.youkuaiyun.com/wishfly 743

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 52,705,191 milliseconds ago. The last packet sent successfully to the serv

波子汽水 6394

深度伪造检测实战:轻量级频域特征 pipeline 部署指南

深度伪造检测(deepfake detection)是多媒体内容安全的核心技术,其本质是通过建模生成式篡改在像素与频域留下的微弱异常痕迹。传统端到端大模型虽在标准数据集上表现优异,却因训练域与真实场景失配、计算开销高、缺乏可解释性而难以落地。本文聚焦于工程可复现的实践路径,提出‘人脸定位→频域伪造特征提取(Xception-FCN + Frequency-Aware Masking)→轻量分类决策’三段式解耦架构,兼顾精度、延迟与可解释性。该方案已在边缘设备(Jetson Orin NX)实现单帧<48ms

weixin_33437929的博客 310

JDBC连接断开,autoReconnect=true失效解决方案:做一个合格的回头客!

autoReconnect=true失效, 数据库等待超时, JDBC, 线程

m0_72947486的博客 3414

【人工智能】AI算法系统设计与算法建模的详细阐述

AI算法系统设计与算法建模是人工智能领域中的核心任务之一,它涉及从问题定义、数据收集、算法选择、模型构建到系统部署的全过程。以下是对AI算法系统设计与算法建模的详细阐述

weixin_51306394的博客 4356

【5G核心网】Packet Forwarding Model 数据包转发模型

CP 通过建立,修改,删除 PFCP 会话上下文,以及通过为每个 PFCP 会话赏析哪问提供 PDR FAR QER URR BAR,来控制 UP 面的数据包处理。 每一个 PDR 都包含 PDI(Packet Detection Information,包探测信息),一个或多个字段,与输入数据包进行匹配,并可能与以下规则相关联,从而提供了适用于与 PDI 匹配的数据包的指令集: - One FAR(包含了处理数据包的相关指令) an Apply Act...

zhonglinzhang 1万+

jdbc mysql 重连_JDBC实现Mysql自动重连机制的方法详解

JDBC是一个用于连接和访问各种数据库的应用编程接口。它可以提供Java程序和各种数据库之间的连接服务。以下是成都seo技术频道编辑带来的实现Mysql自动重连机制的JDBC方法的详细说明。日志:使用连接器/ J连接属性“自动连接=真”来避免此问题com . MySQL . JDBC . communication异常:从服务器成功接收的最后一个数据包是58129秒前的数据包。最后一个成功发送到服...

weixin_42303522的博客 1094

生物信息学投稿避坑指南:如何根据影响因子和审稿速度选择最适合的期刊

本文为生物信息学研究者提供全面的期刊投稿策略,重点解析影响因子、审稿速度等关键指标,帮助选择最适合的期刊。涵盖算法开发类和应用型研究的投稿路径,分析不同出版社特点及开放获取的利弊,并提供投稿全流程优化建议,助力高效发表研究成果。

weixin_42652674的博客 380

jdbc mysql 自动重连_JDBC实现Mysql自动重连机制的方法详解

JDBC是Java程序连接和访问各种数据库的API,它可以提供Java程序和各种数据库之间的连接服务,下面是爱站技术频道小编为大家带来的JDBC实现Mysql自动重连机制的方法详解。日志:using the Connector/J connection property 'autoReconnect=true' to avoid this problemcom.mysql.jdbc.Communi...

weixin_39520210的博客 291

告别环境依赖!用PyInstaller把PaddleOCR项目打包成独立EXE(附完整spec文件配置)

本文详细介绍了如何使用PyInstaller将PaddleOCR项目打包成独立EXE文件,彻底解决Python环境依赖问题。通过完整的spec文件配置和实战技巧,开发者可以轻松创建开箱即用的OCR工具,特别适合需要交付给非技术用户的场景。文章涵盖环境配置、模型打包、性能优化等关键环节,并提供了解决常见问题的方案。

weixin_33712987的博客 576

【DICOM后处理】qt+vs 实现DICOM数据四视图显示

方法用于 设置 2D 视图的“向上”方向,即定义图像在屏幕坐标系中的朝向。该方法直接影响影像的显示方向,尤其在多平面重建(MPR)或非标准切面显示时至关重要。:方法用于 设置渲染窗口在屏幕上的显示位置(以像素为单位)。它控制的是 VTK 渲染窗口的左上角在屏幕坐标系中的坐标位置。DICOM四视图通常指同时显示医学影像的四个不同平面或视角,用于全面分析三维数据(如CT、MRI等)。:基于 标量值 设置不透明度(控制不同组织的显示),显示骨骼or显示高密度流体等。默认朝向原点 (0, 0, 0)

weixin_41804847的博客 1326

java mysql 自动重连_JDBC实现Mysql自动重连机制的方法详解

前言本文主要给大家介绍的是关于JDBC实现Mysql自动重连机制的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:日志:using the Connector/J connection property 'autoReconnect=true' to avoid this problemcom.mysql.jdbc.CommunicationsException: The last p...

weixin_39632728的博客 748

短距激光雷达专业讲解:定义、架构、技术路线与选型逻辑

短距激光雷达,通常指有效探测距离不大于 50 米的激光雷达产品。它主要服务于服务机器人、扫地机器人、AGV/AMR、无人机、智能手机、AR/VR、工业安全等中近距感知场景。它与车载中长距激光雷达的最大区别,不是“探测距离短一点”,而是整套工程目标不同。短距激光雷达的核心诉求是:小体积、低成本、高帧率、强抗光、嵌入式集成。单价从百元级扫地机模组,到数千元级工业 3D 雷达不等。一句话概括:中长距车载激光雷达追求远距离、高可靠、车规寿命;

致力于lidar应用开发 151

jdbc实现oracle自动重连机制,JDBC实现Mysql自动重连机制的方法详解

前言本文主要给大家介绍的是关于JDBC实现Mysql自动重连机制的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:日志:using the Connector/J connection property 'autoReconnect=true' to avoid this problem查了一下,原来是MySQL超时设置的问题如果连接闲置8小时 (8小时内没有进行数据库操作), mys...

weixin_42389522的博客 979

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

jdbc mysql 自动重连_Mysql中JDBC如何完成自动重连机制的案例

软件安装:装机软件必备包SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。最近在工作中发现了一个问题,通过查找相关的资料终于解决...

weixin_34243541的博客 306

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

mysql tomcat 自动重连_Mysql数据库中的自动重连机制怎么利用JDBC实现

Mysql数据库中的自动重连机制怎么利用JDBC实现发布时间:2020-11-27 16:42:53来源:亿速云阅读:63作者:Leah这篇文章将为大家详细讲解有关Mysql数据库中的自动重连机制怎么利用JDBC实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。日志:using the Connector/J connection property...

weixin_33057949的博客 486

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

mysql自动重连_JDBC实现Mysql自动重连机制的方法详解

前言本文主要给大家介绍的是关于JDBC实现Mysql自动重连机制的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:日志:using the Connector/J connection property 'autoReconnect=true' to avoid this problemcom.mysql.jdbc.CommunicationsException: The last p...

weixin_39683368的博客 266

jdbc mysql自动重连,JDBC实现Mysql自动重连机制的方法详解

前言本文主要给大家介绍的是关于JDBC实现Mysql自动重连机制的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:日志:using the Connector/J connection property 'autoReconnect=true' to avoid this problemcom.mysql.jdbc.CommunicationsException: The last p...

weixin_39638057的博客 273

jdbc mysql 自动重连_Mysql中JDBC如何实现自动重连机制的实例

最近在工作中发现了一个问题,通过查找相关的资料终于解决了,下面这篇文章主要给大家介绍了关于JDBC实现Mysql自动重连机制的相关资料,文中给出多种解决的方法,需要的朋友可以参考借鉴,下面来一起看看吧。前言本文主要给大家介绍的是关于JDBC实现Mysql自动重连机制的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:日志:using the Connector/J connection ...

weixin_32047493的博客 331

java mysql 自动重连_java相关:JDBC实现Mysql自动重连机制的方法详解

java相关:JDBC实现Mysql自动重连机制的方法详解发布于 2020-4-27|复制链接最近在工作中发现了一个问题,通过查找相关的资料终于解决了,下面前言本文主要给大家介绍的是关于JDBC实现Mysql自动重连机制的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:日志:using the Connector/J connection property 'autoReconnect...

weixin_29378975的博客 344

mysql重连_JDBC实现Mysql自动重连机制的方法详解

前言本文主要给大家介绍的是关于JDBC实现Mysql自动重连机制的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:日志:using the Connector/J connection property 'autoReconnect=true' to avoid this problemcom.mysql.jdbc.CommunicationsException: The last p...

weixin_42366200的博客 512

如何实现JDBC连接自动重连机制?生产环境必备的6步容灾设计

解决数据库断连难题,详解Java JDBC连接自动重连机制。涵盖生产环境适用场景,通过连接池监控、异常捕获、重试策略等6步实现高可用容灾设计,提升系统稳定性。Java jdbc 数据库连接实战方案,值得收藏。

LogicPlex的博客 1099
上一篇: 教会你如何进行JVM内存调优
下一篇: 浅谈一下常见的垃圾回收机制
Java_LingFeng
博客等级 码龄4年 505粉丝 259原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值