C3P0连接池的断开自动重联功能

2023-10-27

问题背景

Java后台日志发现Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure的错误,查了下,发现是mysql连接超时断开,而连接池还以为链接正常时报的错误;

解决方案

1、延长空闲超时时间

set global wait_timeout=604800;

set global interactive_timeout=604800;

这两个参数分别都设置为604800秒即7天;

2、添加连接池对数据库连接的状态检测动作(有降低一定性能)

<bean id=”dataSource” class=”com.mchange.v2.c3p0.ComboPooledDataSource”   destroy-method=”close”>
         <property name=”driverClass” value=”${dataSourceforSe.driverClassName}” />
         <property name=”jdbcUrl” value=”${dataSourceforSe.url}”/>            
         <property name=”user” value=”${dataSourceforSe.username}”/>
         <property name=”password” value=”${dataSourceforSe.password}”/>
         <property name=”minPoolSize” value=”2″/>
         <property name=”maxPoolSize” value=”20″/>
         <property name=”maxIdleTime” value=”1800″/>
         <property name=”acquireIncrement” value=”2″/>
         <property name=”maxStatements” value=”0″/>
         <property name=”initialPoolSize” value=”3″/>
         <property name=”idleConnectionTestPeriod” value=”240″/>
         <property name=”acquireRetryAttempts” value=”10″/>
         <property name=”breakAfterAcquireFailure” value=”false”/>    <!– 网络故障恢复之后,pool能继续请求设为false –>
         <property name=”testConnectionOnCheckout” value=”true”/> 
    </bean>

在原有配置上添加三个选项

<property name="breakAfterAcquireFailure" value="false"/>
<property name="idleConnectionTestPeriod" value="180"/>
<property name="acquireRetryAttempts" value="10"/>

 breakAfterAcquireFailure: false 
        true表示pool向数据库请求连接失败后标记整个pool为block并close,就算后端数据库恢复正常也不进行重连,客户端对pool的请求都拒绝掉。false表示不会标记   pool为block,新的请求都会尝试去数据库请求connection。默认为false。因此,如果想让数据库和网络故障恢复之后,pool能继续请求正常资源必须把此项配置设为false   

 idleConnectionTestPeriod: 60 
       C3P0会有一个Task检测pool内的连接是否正常,此参数就是Task运行的频率。默认值为0,表示不进行检测。 

 acquireRetryAttempts: 10
       重试次数 

查看原文

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

C3P0连接池的断开自动重联功能 的相关文章

  • 2020新版siteground主机空间服务器购买选择图文教程-跨境电商外贸网站最佳主机空间

    Siteground主机空间怎么样 很多国内的小伙伴可能对siteground主机空间比较陌生 感觉不如bluehost或者Godaddy名气大 实际上siteground在国外是一家非常有名气和实力的美国主机服务商 也是wordpress
  • 以太坊生成合约地址以及存在的账户碰撞

    Eip1014 1 create 通过CREATE关键字创建合约 Create creates a new contract using code as deployment code func evm EVM Create caller
  • Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields论文笔记

    这篇论文是2017年的CVPR 使用的是自底向上的结构 本文的重点在于提出PAFs Part Affinity Fields Realtime Multi Person 2D Pose Estimation Using Part Affin
  • 网络协议系列1—TC/PIP网络模型

    文章目录 一 TCP IP网络模型 二 UDP 1 面向无连接 2 有单播 多播 广播功能 3 UDP是面向报文的 4 不可靠性 5 头部开销小 传输数据报文时很高效 三 TCP 1 连接过程 第一次握手 第二次握手 第三次握手 2 TCP
  • Tip__Unity 3D模型上的材质球为灰色 改不动的问题

    正解 unity导入的模型无法编辑材质球属性 取巧 新建一个材质球 拖到模型原材质球位置 就可以把原材质球替换掉 然后修改新材质球的主图和Shader
  • 我把这一年学的 CSS 知识点精炼总结成了一篇文档

    文章目录 一 CSS简介 1 什么是CSS 二 CSS语法 1 语法规则 2 注释 三 CSS选择器 1 CSS的id选择器 2 CSS的class选择器 四 CSS创建 1 外部样式表 2 内部样式表 3 内联样式 4 多重样式 5 多重
  • 连接器信号完整性仿真教程 七

    本将介绍微带线及差分微带线仿真 做连接器信号完整性仿真时 有时后没法将激励端口直接设置到连接器端子上 这就需画出连接器PCB PAD 将激励端口设置在PAD的端面上 或者用引线连接PAD 将引线引出到适当的位置 再在引线端设置激励端口 通常
  • mac M1配置selenium的chromedriver

    1 确认浏览器版本 2 下载对应的chromedriver M1版是mac arm64版 3 将驱动放在 H O M E b i n
  • js的变量数据类型

    1 什么是变量 1 变量 变化的量 在JS程序中 用于储存数据的容器 2 如何在JS程序中使用变量 1 声明变量 告诉浏览器 我要使用这个变量 var变量名称 声明变量的语法 2 初始变量 给变量赋值 变量名称 值 赋值 将值储存到变量中
  • 编程实现时钟表盘刻度

    首先看个时钟刻度显示效果 一个表盘有60个刻度 每5个刻度就有一个刻度尺寸偏长 画该表盘步骤如下 画外围圈 这个就是画一个圆 假设其圆心坐标为 x 0 y
  • 使用SimHash算法实现千万级文本数据去重插入(python版代码)

    前言 最近在搞大量数据插入MySQL的时候悲催的发现速度越来越慢 因为我的数据来多个源 使用流式更新 而且产品要求在这个表里面不能有数据重复 划重点 衡量数据是否重复的字段是文本内容 字段类型是text 那么问题来了 如何在千万级数据量实现
  • STM32PWM频率计算

    PWM计算 PWM频率 定时器频率 分频系数 x 自动重装载值 PWM占空比 CCRx 自动重装载值 period CLOCK Freq 1 pulse period 1 Dutycycle 100 注意 如果需要高精度 可以使用32位定时
  • keil5破解(备忘,有需要的可以下载)

    管理员身份运行 配置license 运行Keygen 网盘链接 https pan baidu com s 15sw4R0ePrICQoeRx2ELneA pwd 04eq 提取码 04eq
  • odoo查看用户有没有某个权限

    查看用户在不在某个权限组 self env user has group 模块名 权限组id 或者 self user has groups 模块名 权限组id 示例
  • Mybatis 面试题,你想知道的都在这里了!

    1 和 的区别是什么 注 这道题是面试官面试我同事的 答 是 P r o p e r t
  • 对比学习系列论文COST(二):

    快速预览 0 ABSTRACT 0 1逐句翻译 0 2总结 1 INTRODUCTION 1 1 逐句翻译 第一段 介绍序列流预测的事情 现在都用强有力的非线性层来进行学习并取得好效果 第二段 但是这些逐渐复杂的网络 加剧了过拟合等问题 因
  • QSharedMemory

    QSharedMemory 类提供了对一段共享内存的访问 既提供了被多进程和多线程共享的一段内存的访问 也为单线程或单进程锁定内存以实现互斥访问提供了方法 这个类在不同操作系统的使用是有差异的 这里只说下载windows下的 在window
  • ant-design-vue的兼容问题2

    问题 ant design vue不兼容ie浏览器 要求 ie兼容 gt 9 环境 vue cli 4 5 4 ant design vue 1 6 4 之前写了一篇博文解决ant design vue的兼容 由于 vue cli搭建项目升

随机推荐

  • S7 200 smart高速计数功能应用

    高速计数功能应用 https ke qq com course package 26452 单相 只有一个输入 I0 0 进高速计数端 用于频率比较高的场景 双相 有两个输入 I0 0 I0 1 一个是增计数 一个是减计数 A B相 适用于
  • pytorch和GPU有关操作(CUDA)

    使用GPU前 我们首先需要查看GPU信息 这可以通过如下命令实现 watch nvidia smi 输出如下 可以看到总共有两块3090显卡 一 设定计算设备 默认情况下Pytorch将数据创建在内存 然后利用CPU进行计算 所以我们我们需
  • PL/SQL中执行按钮变为灰色后如何恢复【已解决】

    PL SQL中执行按钮变为灰色后如何恢复 已解决 最近向数据库中导数据 结果PL SQL卡住半天没有反应 我就杀死了PL SQL的进程 再一次打开数据时 发现执行按钮被置灰了 没有办法执行sql 解决方法 随便写一行sql语句 按下键盘F8
  • Vue3 模糊搜索

    1
  • 爬虫基础入门(4)简单模拟登录

    本节我们介绍使用爬虫进行美食杰网站的模拟登录 首先我们找到美食杰的登录界面的url以及headers cookie from urllib import request 首先我们导入request库和cookie库 from http co
  • Bubble冒泡排序

    原谅我偷懒 是真的没有什么写的内容了啊 我都好怀疑他们那些大佬是怎么那么多的文章和技术分享的 我要自闭了 时间复杂度O n2 C 的内置排序函数使用的并非冒泡而是快排 Git地址 public override void SortOrder
  • chatGPT写小游戏1分钟一个,快到起飞

    猜数字游戏的规则是电脑随机生成一个1到100之间的整数 玩家需要猜测这个数字是多少 电脑会提示玩家猜的数字是偏大还是偏小 直到猜中为止 下面是代码示例 import random num random randint 1 100 guess
  • argparse模块的用法

    argparse模块的用法 示例 创建解析器 添加参数 解析参数 ArgumentParser对象 编程 用法 说明 parents formatter class 版本3 5中的新功能 版本 3 2中的新功能 源代码 Lib argpar
  • 用神经辐射场在大场景中漫游

    目录 前言 介绍 背景 改进 NeRF 以编码大型场景 在训练数据中获得足够的观点 动态对象移除 应用 结论 参考 前言 最近一直在做NeRF相关工作 偶然看到台湾智慧实验室一篇文章 Hovering Around a Large Scen
  • 毕业设计 基于单片机的多功能遥控器设计

    0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求 为了大家能够顺利以及最少的精力通过毕设 学长分享优质毕业设计项
  • unity 获取复杂物体(模型)中心点

    Unity 获取复杂物体 模型 中心点 1 获取物体中心点 public Vector3 GetCenter GameObject target Renderer mrs target gameObject GetComponentsInC
  • 阿里云云效:代码提交使用

    最近采用阿里云的云效作为管理工具之一 确实蛮不错自动化部署自动化合并代码 但是还是有一定的不同之处 比如我今天提交代码 编码五分钟提交大半天 找了别人也不清楚什么问题 其实是搞错了人家的代码发布流程 首先提交代码第一步 云效创建分支 云效最
  • CSS实现旋转风车

    CSS实现旋转风车 使用css实现旋转风车主要是运用border和css动画来实现的 效果图如下 一 制作风车 首先观察风车是由8个相等形状大小的三角形旋转组成的 可以发现都是围绕一个中心点旋转组成的 所以我们可以先用border画出一个中
  • 系统管理员设置了系统策略禁止进行此安装怎么解决

    最近一位用户在电脑下载安装软件时 系统出现提示 系统管理员设置了系统策略 禁止进行此安装 这该怎么办呢 既然系统管理员禁止了程序安装 那么我们只要开启相应的安装权限就可以了 下面 小编给大家讲解系统管理员设置了系统策略禁止进行此安装的处理方
  • MYSQL中的CREATE TEMPORARY TABLE

    Posted on 八月 19 2008 by arrowpig1979 记录一下今天的一个BUG FIXING 早上收到一个BUG 说有一个到模块A的调用B 多执行几次以后就会出错 错误信息显示SQL ERROR 因为CDC SBE就我最
  • Parker - 最高效的自动标注工具

    http www getmarkman com http www cutterman cn zh parker
  • vue3时间插件——Moment.js使用

    在日期时间这一块在js中是有体现的 但是用起来不是特别方便 尤其是在vue框架中 我们也不可能去那样使用 显得很笨拙麻烦 所以给大家这次带来一个好用的时间插件 就是Moment时间插件 很小巧 使用也方便 也兼容vue3 下面来详细介绍一下
  • 网络层:IP协议

    本博文分享的是网络层的IP协议 从IP协议的基本概念 协议格式开始分析并分享出来 IP协议的基本概念 不同于讨论TCP UDP时只讨论通信主机之间的关系 在讨论IP协议中 会加上主机之间的网络来一起进行讨论分析 主机 一般配有IP地址 路由
  • 【vision transformer】LETR论文解读及代码实战(一)

    LETR Line Segment Detection Using Transformers without Edges 基于vision transformer DETR 提取wireframe的网络框架 截止日前实现了sota性能 论文
  • C3P0连接池的断开自动重联功能

    问题背景 Java后台日志发现Error updating database Cause com mysql jdbc exceptions jdbc4 CommunicationsException Communications link