> 一.功能特性: druid1.2.27版本支持连接池参数运行时无损轮转 1. 账号密码运行时无损替换 2. 连接池大小的动态调整 3. 连接请求超时时间queryTimeout 4. 错误连接地址及账号密码异常保护 5. 其他druid连接池参数运行时修改 > 二.与开源组件Spring Cloud Alibaba&Nacos生态整合实现0代码改造接入 spring-cloud-alibaba版本:2023.0.3.3 druid :1.2.27 接入步骤: 1. 升级druid及spring cloud alibaba nacos config版本 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-3-starter</artifactId> <version>1.2.27</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.27</version> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>2023.0.3.3</version> </dependency> 2.在Nacos创建数据源配置, dataId=druid-datasource.properties,group=nacos-datasource 内容如下: spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.url=jdbc:mysql://{dbhost}:{dbport}/{dbname} spring.datasource.username={username} spring.datasource.password={password} spring.datasource.druid.maxWait=5000 spring.datasource.druid.maxActive=20 spring.datasource.druid.minIdle=15 spring.datasource.druid.initialSize=7 spring.datasource.druid.queryTimeout=6 *dataId可自定义,group需固定为nacos-datasource,配置内容的参数请按实际情况进行替换 3.应用侧application.properties引入配置 #将数据源配置导入Spring,初始化数据源 spring.config.import[0]=optional:nacos:druid-datasource.properties?group=nacos-datasource #指定Nacos地址,请按需修改 spring.cloud.nacos.config.server-addr={nacos server addr} #Nacos 命名空间ID spring.cloud.nacos.config.namespace={nacos namespace id} #打开 druid 运行时轮转开关 spring.nacos.config.proxy.druid.enabled=true #指定轮转关联的nacos 配置dataId spring.nacos.config.proxy.druid.data-id=druid-datasource.properties *nacos地址请按实际情况进行修改 4.重启应用 修改nacos中的数据源 用户密码,连接池参数,超时时间参数,观察应用运行时指标,结合数据库会话监控确认在线连接正常替换。 > 三. 结合MSE Nacos企业版+密钥管理服务KMS实现企业级数据源配置安全保护 1. 符合《国家安全二级等保2.0标准》 2. KMS实现RDS/Polardb数据库账号密码的自动托管&定时轮转 3. 支持多种数据库DS/Polardb引擎,包括Mysql,Sql Server,PostgreSQL,MariaDB,Oracle等 4. MSE Nacos企业版对数据源参数的加密存储及运行时推送 接入指引:[Spring应用RDS数据源账密运行时轮转 ](https://help.aliyun.com/zh/mse/use-cases/spring-application-rds-data-source-account-password-run-time-rotation)
Activity
walnut-tom commentedon Sep 6, 2025
正在找动态修改用户名密码的用法,看到这个issue,感觉目前应该是不支持的;可以参考 HikariPoolMXBean.softEvictConnections() 的实现。修改完用户名密码调用 softEvictConnections() 。