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)

相关推荐

  • postman自动调用获取token

    技术postman自动调用获取token postman自动调用获取tokenPostman不光支持单次请求,还支持环境变量、全局变量、集合变量
    本文使用Collection Variable
    Coll

    礼包 2021年12月2日
  • 双指针技巧总结

    技术双指针技巧总结 双指针技巧总结https://labuladong.gitee.io/algo/2/21/53/读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目:
    14

    礼包 2021年11月12日
  • Swift常量的示例分析

    技术Swift常量的示例分析这篇文章给大家分享的是有关Swift常量的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Swift 是一种支持多编程范式和编译式的开源编程语言,苹果于201

    攻略 2021年11月8日
  • Windows 11 企业版

    技术Windows 11 企业版 Windows 11 企业版 - 20 GB 下载:微软官方原版Windows11企业版原生含子系统、Visual Studio 2019 虚拟机镜像20GB 下载即用

    礼包 2021年12月1日
  • php如何实现大转盘功能

    技术php如何实现大转盘功能本篇内容介绍了“php如何实现大转盘功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    攻略 2021年11月16日
  • java的开发工具有哪些(java开发工具用什么比较好)

    技术Java开发工具有哪些本篇内容介绍了“Java开发工具有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1、C

    攻略 2021年12月22日