开发者社区 > 数据库 > 正文

当用户开启了空闲连接的健康探测时,在Druid的源码内部会出发怎么样的逻辑?

当用户开启了空闲连接的健康探测时,在Druid的源码内部会出发怎么样的逻辑?

展开
收起
vncamyi27xznk 2021-12-24 15:44:34 400 0
1 条回答
写回答
取消 提交回答
  • image.png 入口是MyBatis连接Druid时,getConnectionDirect是一个循环,在循环里从连接池里取一个空闲连接,当探测空闲连接健康开关开启时,Druid会去检测连接的空闲时间是否超过配置的阈值。 如果超过了,循环会发起一个连接的健康探测。如果探测出来连接有问题,Druid会直接把连接关闭。在循环里面,会回到循环开头,从连接池里再拿一个连接,直到拿到一个可用的连接,如果连接池里所有的连接都有问题,会重新创建连接。

    答复内容摘自《深入MySQL实战》,这本电子书收录开发者藏经阁 下载连接:https://developer.aliyun.com/topic/download?id=1167

    2021-12-24 16:30:13
    赞同 展开评论 打赏
问答分类:
问答地址:

数据库领域前沿技术分享与交流

相关电子书

更多
Android内存泄漏自动化链路分析组件--Probe 立即下载
动态、高效,蚂蚁动态卡片的内核逻辑 立即下载
“静态调用链路发现”应用场景分析及实践探索 立即下载