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)

相关推荐

  • reflect Java的反射机制是怎样的

    技术reflect Java的反射机制是怎样的reflect Java的反射机制是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、类型识别的两种方式

    攻略 2021年10月23日
  • 我最喜欢的一本书英语作文,我最喜欢的故事书英语范文

    技术我最喜欢的一本书英语作文,我最喜欢的故事书英语范文My Favorite Book Harry Potter Do you know Harry Potter? Its one of my favorite read

    生活 2021年10月28日
  • cpu为什么可以直接访问内存(cpu是如何访问内存的)

    技术CPU是如何访问内存的这期内容当中小编将会给大家带来有关CPU是如何访问内存的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。内存管理可以说是一个比较难学的模块,之所以比较难学。一是

    攻略 2021年12月21日
  • Java怎么实现教材管理系统

    技术Java怎么实现教材管理系统这篇文章给大家介绍Java怎么实现教材管理系统,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、项目简述功能包括: 管理员可以增删改查教材、教材商、入库教材、用户(用

    攻略 2021年11月24日
  • 如何在Sublime3中设置自己的代码片段

    技术如何在Sublime3中设置自己的代码片段本篇内容主要讲解“如何在Sublime3中设置自己的代码片段”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何在Sublime3

    攻略 2021年11月2日
  • 如何解决SpringSecurityOAuth2 redis反序列失败问题

    技术如何解决SpringSecurityOAuth2 redis反序列失败问题这期内容当中小编将会给大家带来有关如何解决SpringSecurityOAuth2 redis反序列失败问题,文章内容丰富且以专业的角度为大家

    攻略 2021年10月21日