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 的开源前后端分离快速开发平台,其主要功能包括权限管理、代码生成、定时任务等。通过使用 RuoYi 的代码生成功能,可以显著减少手工编码的工作量[^1]。 以下是关于 RuoYi 框架的一些关键点和示例代码: #### 1. 环境搭建 RuoYi 的环境搭建需要依赖 Java 开发环境(如 JDK 8+)、Maven 构建工具以及数据库(如 MySQL)。在视频教程中,详细讲解了如何从零开始搭建 RuoYi 框架的运行环境[^2]。具体步骤包括: - 下载并导入项目源码。 - 配置 `application.yml` 文件中的数据库连接信息。 - 使用 Maven 进行依赖项的下载与编译。 #### 2. 功能详解 RuoYi 提供了丰富的功能模块,以下是一些核心功能的简要说明: - **权限控制**:实现基于角色的访问控制(RBAC),确保不同用户拥有不同的操作权限[^2]。 - **数据字典**:提供对系统常量的统一管理,避免硬编码问题[^2]。 - **代码生成**:通过读取数据库表结构,自动生成实体类、Mapper 接口、Service 层、Controller 层以及前端页面代码[^1]。 #### 3. 示例代码 以下是一个简单的代码生成器使用示例,展示如何通过 RuoYi 自动生成代码: ```java // 实体类示例 @Data public class User { private Long id; private String username; private String password; } // Mapper接口示例 @Mapper public interface UserMapper { List<User> selectUserList(User user); } // Service层示例 @Service public class UserService { @Autowired private UserMapper userMapper; public List<User> getUserList(User user) { return userMapper.selectUserList(user); } } // Controller层示例 @RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @GetMapping("/list") public AjaxResult userList(User user) { List<User> users = userService.getUserList(user); return AjaxResult.success(users); } } ``` 上述代码展示了如何通过 RuoYi 自动生成一个简单的用户管理模块,包括实体类、Mapper 接口、Service 层和 Controller 层的实现。 #### 4. 视频教程推荐 为了更直观地了解 RuoYi 框架使用方法,可以参考以下视频教程: - **02.基础篇-若依搭建.mp4**:介绍如何从零开始搭建 RuoYi 项目。 - **10.基础篇-功能详解-代码生成.mp4**:详细介绍代码生成器的功能及使用方法。 - **17.基础篇-二次开发-新建业务模块.mp4**:演示如何根据实际需求扩展新的业务模块[^2]。 #### 5. 二次开发 如果需要对 RuoYi 框架进行定制化开发,可以参考以下内容: - 修改前端页面布局以适配特定业务场景。 - 调整后端逻辑以支持复杂的数据处理需求。 - 自定义权限注解以满足特定的安全性要求[^2]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值