ruoyi框架使用druid偶发性connection disabled问题解决

问题发现

产品运行过程中经常出现Connection disabled,但再次重试就会正常,出现次数多了以后,我就去找了相关的资料,试图解决这些问题,网上大多都是druid的配置问题

或mysql的配置超时时间的问题,经过我的一一验证,都不是这些问题,最终找到了网上的一篇文章,说如果druid的keepAlive配置为false的话,这些探活机制的配置是不生效的,于是我发现了ruoyi的配置问题,在DruidProperties配置中,没有keepAlive这个属性,所以导致keepAlive一直是false,导致探活机制是失效的,就会出现上述的connection disabled的问题

解决办法

首先在application-xxx.yml中druid配置中追加配置keepAlive: true

然后在DruidProperties中添加属性keepAlive,并在构造器中set属性即可

问题总结

其实出现问题的原因和网上说的差不多,就是mysql中的连接已经过期而druid连接池不知道,导致druid获取了已经失效的连接,导致报错

### Ruoyi框架简介 Ruoyi框架是一个开箱即用的管理系统框架,后端基于Spring Boot、前端基于Vue,实现了全套管理系统的通用功能,提供了一套方便开发的架子[^1]。 ### 快速开始指南 #### 仓库获取 为了快速上手Ruoyi框架,可以从官方指定的仓库下载项目源码并按照说明进行部署和运行。 ### 代码生成器详解 RuoYi-Vue项目中的代码生成器能够帮助开发者自动生成模块化的代码文件,无论是初次接触的新手还是熟悉此框架的老手都能从中受益匪浅。该工具不仅简化了编码流程还提高了工作效率[^2]。 ```bash # 下载Git库 git clone https://github.com/y_project/RuoYi.git cd RuoYi ``` ### API文档增强 通过集成Knife4j插件来优化Swagger UI页面样式,使得API接口更加易于理解和调用。这包括但不限于响应示例折叠/展开、在线调试以及模型树状图等形式展现给用户更好的交互感受[^3]。 ```xml <!-- pom.xml --> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>${latest.version}</version> </dependency> ``` ### 数据库分片实践案例 针对大规模数据存储需求场景下所面临的挑战之一便是性能瓶颈问题;为此,在某些特定情况下可以考虑采用水平拆分策略——即将单张大表按一定规则划分为多张子表分别存放在不同的物理节点之上。而借助于ShardingSphere中间件则可轻松完成这项工作,并且支持读写分离等多种高级特性以满足实际业务应用场景的要求[^4]。 ```java // 配置类 ShardingConfig.java 中定义逻辑表名与真实表之间的映射关系 @Bean public DataSource dataSource() { return ShardingDataSourceFactory.createDataSource(createDataSourceMap(), createTableRuleConfiguration()); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值