mysql jdbc reconnect,MySQL JDBC Timeout and AutoReconnect

2023-11-09

24.4.5.3.4: I have a servlet/application that works fine for a day, and then stops working overnight

MySQL closes connections after 8 hours of inactivity. You either need to use a connection pool that handles stale connections or use the "autoReconnect" parameter (see Section 23.4.4.1, "Driver/Datasource Class Names, URL Syntax and Configuration Properties for Connector/J").

Also, you should be catching SQLExceptions in your application and dealing with them, rather than propagating them all the way until your application exits, this is just good programming practice. MySQL Connector/J will set the SQLState (see java.sql.SQLException.getSQLState() in your APIDOCS) to "08S01" when it encounters network-connectivity issues during the processing of a query. Your application code should then attempt to re-connect to MySQL at this point.

Note. Use of the autoReconnect option is not recommended because there is no safe method of reconnecting to the MySQL server without risking some corruption of the connection state or database state information. Instead, you should use a connection pool which will enable your application to connect to the MySQL server using an available connection from the pool. The autoReconnect facility is deprecated, and may be removed in a future release. What this means to you as an OFBizer using MySQL 5.0+:

I'm not an expert on setting up connection pools or whether OFBiz already can handle this.  All I know is that OFBiz isn't set up OOTB to do this with the MySQL settings.  So, what can one do?  Well, for starters there is the peculiar statement:

MySQL closes connections after 8 hours of inactivity.

Since you can schedule services to run at particular times and repeat until infinity and so on, why not just not allow 8 hours of inactivity to occur.  For my deployment, I've done the following:

Created a service to call it and then scheduled that service to run every 3.5 hours (Just in case there was a problem with the first call).

Note: it has been brought to my attention that this may not be sufficient for slightly busier but not quite busy enough deployments.  A better solution is being looked into.

A better solution would be to adjust wait_timeout parameter in my.cnf. By default it is set to 28800 (which seems to be exactly 8h).

change or add the following line to your my.cnf and set it to a really large number:

wait_timeout=864000

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql jdbc reconnect,MySQL JDBC Timeout and AutoReconnect 的相关文章

  • 视频教程-卷积神经网络从原理到实战-深度学习

    卷积神经网络从原理到实战 本科北京航空航天大学计算机科学与技术专业 长期从事图像算法和文本算法 曾就业于航天相关机密单位 熟悉FasterRCNN SSD YOLO MASKRCNN一系列图像框架 及Bert Bilstm等NLP相关技术
  • App隐私合规注意事项和相关材料

    合规条文相关资料 最新 移动互联网应用程序信息服务管理规定 2022年8月1日起施行 http www cac gov cn 2022 06 14 c 1656821626455324 htm 全国APP技术检测平台 APP公共服务系统 h
  • 【HarmonyOS】详解低代码端云一体化开发之数据模型

    关键字 元服务 低代码平台 端云一体化开发 数据模型 拖拽式UI 1 写在前面 上一篇中分享了关于低代码平台开发元服务的基本使用 有兴趣的可以看一下 文章地址如下 华为开发者论坛 但是在上一篇中我们的数据都是在端侧配置的 这种方式肯定是无法
  • IDEA 快捷键大全

    目录 一 文本编辑 二 光标操作 三 文本选择 四 代码折叠 五 辅助编码 六 上下文导航 七 查找操作 八 符号导航 九 代码分析 十 运行和调试 十一 代码重构 一 文本编辑 Ctrl Shift V 从历史选择粘贴 Ctrl D 复制
  • Java多线程实现的四种方式

    多线程实现的四种方式 1 继承Thread类 重写run方法 2 实现Runnable接口 重写run方法 实现Runnable接口的实现类的实例对象作为Thread构造函数的target 3 通过Callable和FutureTask创建
  • mbind: Operation not permitted

    问题描述 IntelliJ IDEA 中 Docker Integration 插件 启动 MySql 容器 然后使用 Navicat for MySQL 来连接 只要连接数据库就会出现 mbind Operation not permit
  • java 性能监控 jstack 线程死锁 JConsole 和 BTrace 图形化工具

    java 性能监控 工具 除了 javac java javap 之外 jdk 安装包还提供了很多其他工具 列出 bin 目录下的文件 TomChens MacBook Pro Commands tomchen ls appletviewe
  • 挖坑指南:npm install命令各参数的区别(--sava --save-dev -g)

    前言 在前端工作中 npm已经成为必不可少的一部分 npm install可以为我们的项目安装依赖 那么这个命令的参数 各代表什么含义呢 开始 我们逐一来看看npm install save dev 安装我们项目开发时的依赖 比如一些插件
  • [Unity][AssetBundle]从AB包中加载Material材质球

    名字为111的AB包中 已经有打包的材质 名字为 test using UnityEditor public AssetBundle ab material public Material m
  • Ubuntu16.04为ROS搭建Qt开发环境

    很早之前就听说了Qt有ROS插件可以使用 只是阴 lan 差 de 阳 qu 错 gao 一直到今天还是在使用纯文本的方式在开发ROS 上午心 shou 血 bu 来 liao 潮 le 走上了Qt ros qtc plugin的不归路 所
  • 【华为机试真题Python】字符串消消乐游戏

    目录 题目描述 测试用例 参考代码 题目描述 输入一个只包含英文字母的字符串 字符串中的两个字母如果相邻且相同 就可以消除 在字符串上反复执行消除的动作 直到无法继续消除为止 此时游戏结束 输出最终消除完后留下的字符串 测试用例 用例1 输
  • 网络编程学习笔记

    网络基础 协议的概念 什么是协议 从应用的角度出发 协议可理解为 规则 是数据传输和数据的解释的规则 假设 A B双方欲传输文件 规定 第一次 传输文件名 接收方接收到文件名 应答OK给传输方 第二次 发送文件的尺寸 接收方接收到该数据再次
  • 编写 golang 命令行小工具

    1 前言 把想了很久的命令行小工具写了个demo 前几天看了 7 天仿 gin 项目 于是今天借鉴了其路由匹配方式 写出了这个demo 思路是 创建一个类似路由的map key值为选项 value为选项信息的结构体 结构体中保存有选项的动作
  • Cesium中文教程-3D模型(3D Models)

    目录 3D模型 3D Models 1 快速入门 Quick start 2 动画 Animations 3 各取所需 Picking 4 转化COLLADA为glTF Converting COLLADA to glTF 5 故障排除 T
  • LockSupport源码解析

    一 前言 LockSupport 和 CAS 是Java并发包中很多并发工具控制机制的基础 它们底层其实都是依赖Unsafe实现 LockSupport是用来创建锁和其他同步类的基本线程阻塞原语 LockSupport 提供park 和un
  • c#解决TCP“粘包”问题

    一 TCP粘包产生的原理 1 TCP粘包是指发送方发送的若干包数据到接收方接收时粘成一包 从接收缓冲区看 后一包数据的头紧接着前一包数据的尾 出现粘包现象的原因是多方面的 它既可能由发送方造成 也可能由接收方造成 2 发送方引起的粘包是由T
  • 【Linux】Linux中Swap与Memory内存简单介绍

    背景介绍 对于Linux来说 其在服务器市场的使用已经占据了绝对的霸主地位 不可动摇 Linux的各种设计思想和使用也被传承 当然不乏各种黑Linux 而且黑的漂亮 Linux的很多独特的设计 对性能也产生了巨大的提升 也为其他应用软件和系
  • 【C51单片机学习笔记----DS18B20温度传感器&&LCD1602液晶屏&&直流电机调速与呼吸灯&&AD模数转换&&红外外部中断】

    文章目录 一 DS18B20温度传感器 1 DS18B20温度传感器连接原理图 2 DS18B20温度传感器单总线通信时序 3 DS18B20温度传感器代码模块 二 LCD1602液晶屏 1 LCD1602液晶屏连接原理图 2 字符码和指令
  • Unity基础篇:Unity中的世界坐标和局部坐标,Transform和Translate等问题的讨论。

    今天感触良多 故于此一记 首先 对于世界坐标和局部坐标 这是两个cube 是我们今天的主角 首先是这个父Cube 我们注意到它此时坐标为 0 0 0 由于他在根目录 所以他的transform position就是他的世界坐标 这里之所以用

随机推荐

  • 前端命名规范以及常用命名整理

    1 基本要求 1 文件编码统一使用 UTF 8 编码 2 命名时以符合语义为主要参考指标 CSS属性书写规范 采用统一风格及命名方法 3 结构清晰 层级关系明朗 以不超过三级为标准 4 同一表现形式的样式要求可重复利用 模块组件类的样式要求
  • Js事件循环机制EventLoop

    Js事件循环机制EventLoop js特点为单线程 但通过事件循环机制配合回调函数实现异步多线程的效果 事件循环机制三个关键 调用栈 执行主线程代码 消息队列 执行fetch setTimeout setInterval的异步代码 微任务
  • 洛谷P1464-Function【记忆化搜索】 难度:*

    题意 对于一个递归函数w a b c 如果a 0 or b 0or c 0就返回值1 如果a gt 20or b gt 20 or c gt 20就返回w 20 20 20 如果a
  • java调用mysql获取不到连接的问题

    之前做了一个web项目的时候 好好的网站第二天总是会提示using the Connector J connection property autoReconnect true to avoid this problem 这样的错误 com
  • ANDROID STUDIO emulator ERROR x86 emulation currently requires hardware acceleration! 解决方案

    最近接到了开发安卓的需求 于是下个Android Studio进行开发 这是一个谷歌开发的继eclipse之后 具有强大功能的开发工具 里面自带可以硬件加速的虚拟机 方便以真机速度在不同设备上运行测试app 但是本人遇到了无法硬件加速的问题
  • 手把手教你:人脸识别考勤系统

    系列文章 手把手教你 人脸识别考勤系统 本文为系列第一篇 文章目录 系列文章 项目简介 一 项目展示 二 环境需求 环境安装实例 三 功能模块介绍 1 人脸库图像 2 构建人脸库 3 启动人脸识别功能 完整代码地址 项目简介 本文主要介绍如
  • MyBatis-Plus学习笔记总结

    一 查询 构造器分为QueryWrapper和LambdaQueryWrapper 创建实体类User package com system mybatisplus model import com baomidou mybatisplus
  • 使用七牛云图片服务器,不管是自己博客用还是用来干嘛,都是一个很好地选择...

    七牛云传送门 下面就是正题了 复制外链后 就可以使用这个链接了 不用担心本地文件怎么怎么样 方便不少 七牛云传送门
  • TypeError: Invalid attempt to spread non-iterable instance.

    这种错误一般是延展运算符使用出了错误 例如在一个对象前面用了延展运算符 let obj 因为obj 是一个对象 所以就会报上图的错误 let arr obj name 1
  • nodejs如何判断一个文件、文件夹是否存在

    需要使用nodejs的fs模块 引入 var fs require fs 判断的方法 fs exists path callback path 判断的文件夹 文件的路径 callback 回调函数 fs exists dirName fun
  • http响应报文详解

    http响应报文的组成 http响应报文由响应行 响应头 响应体三部分组成 响应行主要包括 响应协议 这个与请求协议对应 比如http 状态码200 状态码的描述OK 响应头就是一些常见的响应名对应的响应值 响应参数就是我们真正需要的从数据
  • C# 对文件进行MD5计算

    今天在做需求的时候 需要把MD5的计算集成到应用中 其实计算MD5本身并不难 C 本身提供了计算Md5值的工具 using FileStream fs File OpenRead path using var crypto MD5 Crea
  • 【StyleGAN论文精读CVPR_2019】A Style-Based Generator Architecture for Generative Adversarial Networks

    StyleGAN论文精读CVPR 2019 A Style Based Generator Architecture for Generative Adversarial Networks 一 前言 Abstract 1 Introduct
  • 关于Android Activity的configChanges属性的用法,设置屏幕旋转时activity不重新创建

    这篇文章主要是浅析一下activity的configChanges这个属性的 这个属性可能对于一些刚入门的Android开发者来说不是很常见 但是对于做过手机播放界面的同志们这个属性恐怕没人不知道 大家都知道 当手机横竖屏切换时 在不经过设
  • sqli-labs靶场15-19过关小记

    level 15 首先判断是否有sql注入攻击 先输入万能密码 or 1 1 试了试发现登录成功 可以看到是存在sql注入的 输入单引号后不报错 推断可能是盲注 分析一下源码 可以看到报错信息是被注释的 所以可以采用布尔型或时间型盲注 因为
  • 大数据HA集群搭建

    1环境准备 集群规划 ip 主机名 安装的软件 192 168 232 132 HA01 jdk HA0doop NameNode DFSZKFailoverController zkfc 192 168 232 133 HA02 jdk
  • 大数据毕业设计人体跌倒检测系统

    文章目录 前言 1 实现方法 传统机器视觉算法 基于机器学习的跌倒检测 SVM简介 SVM跌倒检测原理 算法流程 算法效果 实现代码 深度学习跌倒检测 最终效果 网络原理 最后 前言 背景和意义 在美国 每年在65岁以上老人中 平均每3人中
  • 设置html 头 缓存,html头文件设置常用之设置缓存

    pragma与no cache用于定义页面缓存 不缓存页面 为了提高速度一些浏览器会缓存浏览者浏览过的页面 通过下面的定义 浏览器一般不会缓存页面 而且浏览器无法脱机浏览 常见的取值有private no cache max age mus
  • CodeSmith 使用教程: 总结

    前面基本介绍了CodeSmith的基本用法和编写代码模板的基本方法 这只是CodeSmith功能的一部分 其它部分可以参考CodeSmith文档和类文件定义 此外可以参考CodeSmith附带的示例模板 为便于查询 列出所有文档如下 Cod
  • mysql jdbc reconnect,MySQL JDBC Timeout and AutoReconnect

    24 4 5 3 4 I have a servlet application that works fine for a day and then stops working overnight MySQL closes connecti