MybatisPlus与nacos结合时,为何druid无法连接到数据库?
- 内容介绍
- 文章标签
- 相关推荐
本文共计729个文字,预计阅读时间需要3分钟。
问题:MP加密与Druid和Nacos结合,首次项目启动成功,后续访问无法连接数据库,导致原因+项目首次加载因会去Nacos读取配置,刚启动的MP也会去读取配置,所以启动的时候也会去读取好key值,所以启动时
问题
mp加密与druid和nacos结合,首次项目启动成功,后续访问无法连接数据库
导致原因
项目首次加载由于会去nacos读取一遍配置,刚好mp启动的时候也会去读取配置好key值,所以启动的时候不会报错
由于nacos有自动刷新配置功能,后面自动刷新的时候mp不会再读取命令行配置key,导致无法解密,从而连接数据库失败
解决方案
知道原因之后,我们可以修改druid连接数据库的配置,因为druid自带数据库加解密,参考ConfigFilter类就可以知道,druid会去读取外部的配置文件,可以通过这种方法解决
注意事项
- 由于mp这个配置的key值只会读取一次,通过SafetyEncryptProcessor这个类来解密。
本文共计729个文字,预计阅读时间需要3分钟。
问题:MP加密与Druid和Nacos结合,首次项目启动成功,后续访问无法连接数据库,导致原因+项目首次加载因会去Nacos读取配置,刚启动的MP也会去读取配置,所以启动的时候也会去读取好key值,所以启动时
问题
mp加密与druid和nacos结合,首次项目启动成功,后续访问无法连接数据库
导致原因
项目首次加载由于会去nacos读取一遍配置,刚好mp启动的时候也会去读取配置好key值,所以启动的时候不会报错
由于nacos有自动刷新配置功能,后面自动刷新的时候mp不会再读取命令行配置key,导致无法解密,从而连接数据库失败
解决方案
知道原因之后,我们可以修改druid连接数据库的配置,因为druid自带数据库加解密,参考ConfigFilter类就可以知道,druid会去读取外部的配置文件,可以通过这种方法解决
注意事项
- 由于mp这个配置的key值只会读取一次,通过SafetyEncryptProcessor这个类来解密。

