BladeX想要改造成动态刷新数据库链接不想每个服务都增加Nacos监听器重置数据库

Blade 未结 1 234
E-ER
E-ER 剑圣 2023-07-03 17:16

一、该问题的重现步骤是什么?

1. BladeX 2.8.2版本 是如何管理数据库连接的

2. Tool工程中的core-db模块的作用是什么

3. 现在想改造工程为nacos数据连接发生变化时自动重置数据库链接,不需要重新启动各个服务,该怎么操作


二、你期待的结果是什么?实际看到的又是什么?

数据库连接动态刷新,无需重启服务
必须重启服务新的数据库连接才会生效

三、你正在使用的是什么产品,什么版本?在什么操作系统上?

Bladex 2.8.2 商业办 windows/linux

四、请提供详细的错误堆栈信息,这很重要。

五、若有更多详细信息,请在下面提供。

1条回答
  • 2023-07-04 01:01

    如果写在配置文件里的数据库信息,是需要重启才能生效的。

    如果你不想重启就生效,只能把数据源配置成动态数据源,可以用mybatis-plus官方的dynamic-datasouce。

    配置好动态数据源后,写一个nacos监听器,有变更就会监听器收到并执行,在执行的逻辑代码块判断链接,并且更新dynamic-datasource的配置。

    具体代码部分,你可以参考bladex的多租户数据库隔离的逻辑,就是线上配置好之后,就会加载成功对应的数据源,而不需要重启:https://center.javablade.com/blade/BladeX-Tool/src/branch/master/blade-starter-tenant/src/main/java/org/springblade/core/tenant/dynamic

    0 讨论(0)
提交回复