一、该问题的重现步骤是什么?
最新版本spring boot项目
LauncherServiceImpl设置下面的参数
PropsUtil.setProperty(props, "spring.datasource.dynamic.enabled", "true");
2. 引入依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot3-starter</artifactId>
</dependency>
3.配置yaml文件
主要修改 application.yml中的,目前这个版本druid那边有bug,不进行排除无法启动,其他的只是将设置移动到dynianc.druid下。
dev.yaml中正常配置,无其他参数。
二、你期待的结果是什么?实际看到的又是什么?
正常输出sql打印日志。现在无sql日志打印。
打断点进行调试,发现没有进到日志打印的拦截器中,增加下面配置,测试也没有日志输出打印。
: : : : : - sqlLogInterceptor
多数据源参考例子:BladeX-Biz/blade-demo 位于 master - BladeX-Biz - BladeX 中央仓库 (javablade.com)
配置修改如下:
#服务器端口
server:
port: 8200
#数据源配置
#spring:
# datasource:
# url: ${blade.datasource.dev.url}
# username: ${blade.datasource.dev.username}
# password: ${blade.datasource.dev.password}
spring:
#排除DruidDataSourceAutoConfigure
autoconfigure:
exclude: com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure
datasource:
dynamic:
druid:
#通用校验配置
validation-query: select 1
#设置默认的数据源或者数据源组,默认值即为master
primary: master
datasource:
master:
druid:
#独立校验配置
validation-query: select 1
#启用sql日志拦截器
proxy-filters: sqlLogInterceptor
#oracle校验
#validation-query: select 1 from dual
url: ${blade.datasource.demo.master.url}
username: ${blade.datasource.demo.master.username}
password: ${blade.datasource.demo.master.password}
slave:
druid:
#独立校验配置
validation-query: select 1
#启用sql日志拦截器
proxy-filters: sqlLogInterceptor
#oracle校验
#validation-query: select 1 from dual
url: ${blade.datasource.demo.slave.url}
username: ${blade.datasource.demo.slave.username}
password: ${blade.datasource.demo.slave.password}
扫一扫访问 Blade技术社区 移动端