# 修改连接池配置不生效

今天修改连接池配置发现修改没有反应,最后发现原因是配置的连接池配置有问题。对于使用 dynamic-datasource 来说,需要配置 spring.datasource.dynamic.xx 连接池。属性,而不是配置 spring.datasource.xx 连接池。属性。在创建连接池配置的时候会使用 dynamic 下的配置类去初始化。本人的是 Hikari 连接池,所以这里会使用 HikariCpConfig 去加载配置,是原来 HikariConfig 在属性上 copy;

# HikariCpConfig

# HikariConfig

需要注意的是前者使用 lombok 生成的 get 与 set,因此在配置时两者是不一样的,如上图中的

maxPoolSize 与 maximumPoolSize。类似的还有 minIdle 与 minimumIdle。到此配置不生效的问题解决~

# 数据库连接加密方式自定义

对于 mybatis-plus 中对数据库连接的 url、username、password 等等配置参数的加解密,或者别的初始化处理。官方是有推荐的方式加解密,也很方便,但是奈何咱们这边需要使用自己加解密。我看到了原来的实现是通过注入 YmlDataSourceProvider 来实现,不过因为默认就会加载一次,然后再注入一个 provider 会导致加载两次,出现数据库连接数翻倍的情况!解决是通过如下方式注入一个实现 DynamicDataSourcePropertiesCustomizer 接口的 Bean,用来完成初始化。