启用多数据源功能,不打印sql。

Blade 未结 1 849
ccc
ccc 剑圣 2024-05-30 14:03

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

最新版本spring boot项目

  1.  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下。

image.png

dev.yaml中正常配置,无其他参数。

image.png


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

正常输出sql打印日志。现在无sql日志打印。

打断点进行调试,发现没有进到日志打印的拦截器中,增加下面配置,测试也没有日志输出打印。

:
  :
    :
      :
        :
          - sqlLogInterceptor

image.png

1条回答
  • 多数据源参考例子:BladeX-Biz/blade-demo 位于 master - BladeX-Biz - BladeX 中央仓库 (javablade.com)

    配置修改如下:

    6(XPGF9AHR`BL[V[}3](6C0.png

    #服务器端口

    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}


     


    0 讨论(0)
提交回复