All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ycode8.dynamic-datasource-sample.1.0.0.source-code.application-dynamic.yaml Maven / Gradle / Ivy

There is a newer version: 1.0.1
Show newest version
# 动态数据源配置(引入starter增加类似示例配置)
spring:
  #开发时关闭缓存,不然没法看到实时页面
  thymeleaf:
    cache: false
  datasource:
    dynamic:
      enabled: true #是否开启动态数据源,默认true
      transaction:
        enabled: false #是否开启动态数据源事务,默认为true
      header: db-type #是否开启请求头切换,默认为空则不开启,优先级低于注解配置
      primary: master #首选数据源, 未指定数据源情况下使用的数据源,一般设置未主数据源, 默认master
      check: true #是否启动时候检查所有数据源有效性,默认true,检查通过才启动项目
      strict: true #是否严格匹配数据源,匹配不到报错, 默认true
      datasource:
        master:
          driver-class-name: org.h2.Driver
          url: jdbc:h2:file:.\target\temp\h2\db01  # 文件模式
          username: root
          # password: 123456
          password: EJAisMC4a7NxS/eEpNoe7skuuR8c17iA42tsL3hDi8Stkos3JE4KXdveZjQhPyJuBknqM8rO96EHebPno8yGfA==
          type: com.alibaba.druid.pool.DruidDataSource #使用默认druid starter的配置
#          druid: #type为druid数据源支持覆盖主druid starter的配置
#            connect-properties:
#              config.decrypt: true
#              config.decrypt.key: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANe5vKzsVQKIejvD4PDV4yHp0ddDGwQwFWa63APDo/lws549fjHG059mTmSO3OMj7IjgWdvVOAIuU899rciLpB8CAwEAAQ==

        db1:
          driver-class-name: org.h2.Driver
          url: jdbc:h2:file:.\target\temp\h2\db02  # 文件模式
          username: root
          password: 123456
        db2:
          driver-class-name: com.mysql.jdbc.Driver
          url: jdbc:mysql://192.168.4.187:3306/test?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
          username: root
          password: 123456
          type: com.alibaba.druid.pool.DruidDataSource
          druid: #type为druid数据源支持覆盖主druid starter的配置
            connect-properties:
              config.decrypt: false
    druid:
      filter:
        # sql防火墙
        wall:
          enabled: false
        config:
          enabled: true #是否开启druid密码加密过滤器
      connect-properties:
        config.decrypt: true
        # public-key
        config.decrypt.key: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANe5vKzsVQKIejvD4PDV4yHp0ddDGwQwFWa63APDo/lws549fjHG059mTmSO3OMj7IjgWdvVOAIuU899rciLpB8CAwEAAQ==
      # 最大连接池数量
      max-active: ${global.database.pool.default.max-active:50}
      # 从连接池获取连接等待超时的时间
      max-wait: ${global.database.pool.default.max-wait:5000}
      # 最小连接池数量
      min-idle: ${global.database.pool.default.min-idel:1}
      # 配置一个连接在池中最大空闲时间,单位是毫秒
      min-evictable-idle-time-millis: ${global.database.pool.default.min-evictable-idle-time-millis:300000}
      # 连接泄露检查,打开removeAbandoned功能 , 连接从连接池借出后,长时间不归还,将触发强制回连接。回收周期随timeBetweenEvictionRunsMillis进行,
      # 如果连接为从连接池借出状态,并且未执行任何sql,并且从借出时间起已超过removeAbandonedTimeout时间,则强制归还连接到连接池中。
      remove-abandoned: ${global.database.pool.default.remove-abandoned:false}
      # 回收超时时间
      remove-abandoned-timeout-millis: ${global.database.pool.default.remove-abandoned-timeout-millis:80000}
      # 打开后,增强timeBetweenEvictionRunsMillis的周期性连接检查,
      # minIdle内的空闲连接,每次检查强制验证连接有效性. 参考:https://github.com/alibaba/druid/wiki/KeepAlive_cn
      keep-alive: ${global.database.pool.default.keep-alive:true}
      # 打开PSCache
      pool-prepared-statements: ${global.database.pool.default.pool-prepared-statements:true}
      # 指定每个连接上PSCache的大小,Oracle等支持游标的数据库,打开此开关,会以数量级提升性能,具体查阅PSCache相关资料
      max-pool-prepared-statement-per-connection-size: ${global.database.pool.default.max-pool-prepared-statement-per-connection-size:20}






© 2015 - 2025 Weber Informatics LLC | Privacy Policy