Atomikos + druid 多数据源数据库连接超时回收问题怎么解决

技术Atomikos + druid 多数据源数据库连接超时回收问题怎么解决Atomikos + druid 多数据源数据库连接超时回收问题怎么解决,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细

德鲁伊原子你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,吴亚玲吴亚玲吴亚玲,吴亚玲,吴亚玲,吴亚玲,吴亚玲,吴亚玲,吴亚玲,吴亚玲,吴亚玲,吴亚玲,吴亚玲,吴亚玲,吴亚玲,吴亚玲,吴亚玲,吴亚玲,吴亚玲,吴亚玲,吴亚玲,吴亚玲,吴亚玲,吴亚玲,云娥与云娥同在,朱庇特朱庇特朱庇特,吴亚玲吴亚玲。

异常表现

年欧洲足球锦标赛-什么,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看:

//贺尔蒙贺尔蒙,朱庇特朱庇特:

com。MySQL。JDBC。例外。JDBC 4。通信异常3330 lastppackageaccessfulluereved from theserverwas 37,350,882毫秒。lastspackagetsuccfulletworkserverwas为37,350,882毫秒。isongerthandhesserverconfigured值“wait _ time out ”.在应用程序之前,您认为它是xpiringand/ortestinconnectionvalidation,增加hesserversconfiguredvaluesforfromizings,或者增加hegtheconnector/jconnect property ' autoconnect=true '来避免此问题。

//朱庇特朱庇特:

错误[com。阿里巴巴。德鲁伊。游泳池。druid pooldstatemen  ]-通信性异常,druidversion1.1.10,JDBC URL 3330 JDBC 3330 MySQL 3330//xx .xx。xx。xx 333066/txsmart home?useunicode=true字符编码=utf8 usessl=false all wmmultiquiries=true auto connect=true failover readonly=false sepinglobisprunconnect=true,testwhileidletrue,idlemillis 39540140,minIdle50,poolingCount0,timebetweenevionrunsmillis 60000,lastvalididlemillis 39540140,drivercom.mysql.jdbc.Driver,exceortercom。阿里巴巴。德鲁伊。游泳池。供应商。我的

//朱庇特:

Java。SQL。SQL异常:连接持有者空

druid 异常

李亚男和李亚男MySQL(MySQL)苏慕白等待_超时-等待_逾时阿云,阿久MySQL(MySQL)你好,魏冄德鲁伊德贺盛瑞?贺盛瑞?贺盛瑞,阿贺盛瑞。

贺盛瑞贺盛瑞贺盛瑞,德鲁伊范龙佩范龙佩范龙佩范龙佩,你是说.阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云阿云,你是说.嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨迷你吧朱塞佩维奥里奥。

喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂喂,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看,你看迷你吧-你好。

连接池配置

弹簧3360

资料来源3330

德鲁伊:

         db1:
                # 每隔1小时检查数据库连接是否有效,连接成功1分钟后开始计时
                removeAbandonedTimeout: 3600
                # 如果连接失效就删重连
                removeAbandoned: true
                # 删除时输出日志
                logAbandoned: true
                # 测试查询查询结果
                testOnReturn: true

上述配置可保证限时删除无效连接。

数据库配置

命令行连接数据库后,执行:show global variables like "%timeout%";

mysql> show global variables like "%timeout%";
+-----------------------------+----------+
| Variable_name               | Value    |
+-----------------------------+----------+
| connect_timeout             | 10       |
| delayed_insert_timeout      | 300      |
| have_statement_timeout      | YES      |
| innodb_flush_log_at_timeout | 1        |
| innodb_lock_wait_timeout    | 7200     |
| innodb_rollback_on_timeout  | OFF      |
| interactive_timeout         | 3600     |
| lock_wait_timeout           | 31536000 |
| net_read_timeout            | 30       |
| net_write_timeout           | 60       |
| rpl_stop_slave_timeout      | 31536000 |
| slave_net_timeout           | 60       |
| wait_timeout                | 3600     |
+-----------------------------+----------+

上述数据库的链接有效时间是1小时,mysql默认为8小时,可使用命令修改,无须重启mysql:

# 修改为12小时,注意下面两个配置项要一致才能生效
mysql> set global interactive_timeout=43200;
Query OK, 0 rows affected
mysql> set global wait_timeout=43200;
Query OK, 0 rows affected

需要注意 链接池 removeAbandonedTimeout <= 数据库 wait_timeout。

atomikos 异常

异常情况三的场景更复杂一些, atomikos 工作在 druid 上层,当druid检测到超时链接并重连后,并不会通知 atomikos,所以下次sql执行时仍然会报错。

atomikos 资料较少,看源码太费时,有空了再研究。

解决方案
  1. 尽量增大数据库 wait_timeout 的时间(需要注意过大的 wait_timeout 会影响数据回收无效链接)。

  2. 可关闭druid removeAbandoned 功能。

  3. 配置一个定时器,在 min(wait_timeout,removeAbandonedTimeout) 时间内至少执行 minIdle 次,每次都在所有数据源中执行一个简单的查询。

三种方式可结合使用

升级 mysql-jdbc-driver 到6以上据说也可以解决,没有测试过。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/129602.html

(0)

相关推荐

  • MySQL 二进制怎么安装

    技术MySQL 二进制怎么安装这篇文章主要为大家展示了“MySQL 二进制怎么安装”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL 二进制怎么安装”这篇文章吧。

    攻略 2021年12月9日
  • EPPlus

    技术EPPlus EPPluspublic string ImportError(ListUser users) { string date = DateTime.Now.ToStr

    礼包 2021年12月7日
  • C#打印源码的具体实现是怎样的

    技术C#打印源码的具体实现是怎样的本篇文章给大家分享的是有关C#打印源码的具体实现是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。C#打印源码也是打印

    攻略 2021年11月24日
  • 笑的种类,笑的方式有几种?都是什么笑

    技术笑的种类,笑的方式有几种?都是什么笑你好笑的种类,我是联盟微笑,是一名搞笑创作者,对你的问题有一下见解1.会心的笑是微笑2.傲慢的笑是嘲笑3.难堪的笑是干笑4.无可奈何的笑是苦笑
    5.最优美的笑是自然的笑
    6.最热闹

    生活 2021年10月20日
  • Audition CC2019 安装教程(附安装包资源)

    技术Audition CC2019 安装教程(附安装包资源) Audition CC2019 安装教程(附安装包资源)原文链接:https://www.gujin.store/tools/package

    礼包 2021年10月26日
  • OpenTelemetry的相关知识点有哪些

    技术OpenTelemetry的相关知识点有哪些本篇内容主要讲解“OpenTelemetry的相关知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“OpenTelem

    攻略 2021年11月16日