赞
踩
我们可以使用 dynamic-datasource 来快速实现多数据源,但是多数据源配置连接池 以及说明文档都是收费的。 这里整理的连接池的配置以及配置说明
特此说明 如果配置配到了 spring.datasource.dynamic 下 druid 或者 hikari
这表示这个配置将作用于 dynamic 的所有数据源
spring: datasource: dynamic: # 全局配置的hikari 或druid # hikari 官方文档 hikari: # 最小空闲数量 min-idle: 10 # 最小空闲数量 minimumIdle: # 连接池最大数量 max-pool-size: 100 # 连接池最大数量 maximum-pool-size: # 连接超时时间 connectionTimeout: # 校验超时时间 validationTimeout: # 空闲超时时间 idleTimeout: # 此属性控制在记录指示可能的连接泄漏的消息之前连接可以离开池的时间量。值为0表示关闭泄漏检测。启用泄漏检测的最低可接受值是2000(2秒)。默认值:0 leakDetectionThreshold: # 此属性控制池中连接的最大生存期 值为0表示没有最大生存期(无限生存期),当然取决于idleTimeout设置。最小允许值为30000ms(30秒)。默认值:1800000(30分钟) maxLifetime: # 初始化失败超时时间 即 到了指定时间还没初始化完成就算失败 initializationFailTimeout: # 连接初始化SQL connectionInitSql: # 连接查询测试SQL connectionTestQuery: # 数据源类名 dataSourceClassName: com.zaxxer.hikari.HikariDataSource dataSourceJndiName: # 事务隔离级别名称 transactionIsolationName: # 自动提交 isAutoCommit: # 是否只读 isReadOnly: # 是否隔离内部查询 isIsolateInternalQueries: # 是否注册 mbean isRegisterMbeans: # 是否允许pool 挂起 isAllowPoolSuspension: # 存活时间 keepaliveTime: druid: # 官方文档: https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7%BD%AE%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8 # 初始化数量 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时 initialSize: 50 # 最大存活数量 maxActive: 50 # 最小空闲数量==>最小连接池数量 minIdle: 20 # 配置获取连接等待超时的时间 maxWait: # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 timeBetweenEvictionRunsMillis: # 配置间隔多久才进行日志统计,单位是毫秒 timeBetweenLogStatsMillis: # 统计SQL最大数量 statSqlMaxSize: # 配置一个连接在池中最小生存的时间,单位是毫秒 minEvictableIdleTimeMillis: # 配置一个连接在池中最大生存的时间,单位是毫秒 maxEvictableIdleTimeMillis: # 是否自动提交 defaultAutoCommit: # 是否只读 defaultReadOnly: # 默认事务隔离级别 defaultTransactionIsolation: # 连接空闲测试 testWhileIdle: # 当获取连接测试 testOnBorrow: # 当归还连接测试 testOnReturn: # 验证查询SQL validationQuery: # 验证查询超时时间 validationQueryTimeout: # 使用全局数据源统计 useGlobalDataSourceStat: # 异步初始化 asyncInit: # 配置监控统计拦截的filters filters: stat clearFiltersEnable: # 重置统计开关 resetStatEnable: notFullTimeoutRetryCount: # 最大等待线程数量 maxWaitThreadCount: # 快速失败 failFast: phyTimeoutMillis: # 保持连接开关 连接池中的minIdle数量以内的连接,空闲时间超过minEvictableIdleTimeMillis,则会执行keepAlive操作。 keepAlive: # ps pool开关 poolPreparedStatements: initVariants: initGlobalVariants: # 使用非公平锁 useUnfairLock: # socket读取超时 kill killWhenSocketReadTimeout: # 每个连接 最大ps 池数量 maxPoolPreparedStatementPerConnectionSize: # 共享ps sharePreparedStatements: # 连接错误重试次数 connectionErrorRetryAttempts: # 配置获取锁失败多少次 中断 breakAfterAcquireFailure: removeAbandoned: removeAbandonedTimeoutMillis: # 查询超时时间 queryTimeout: # 事务查询超时时间 transactionQueryTimeout: # 连接超时时间 connectTimeout: # socket 连接超时时间 socketTimeout: datasource: ds1: url: jdbc:mysql://xx.xx.xx.xx:3306/dynamic username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver #type: com.zaxxer.hikari.HikariDataSource type: com.alibaba.druid.pool.DruidDataSource #注意hikari和druid选择一个使用 # hikari 官方文档 hikari: # 最小空闲数量 min-idle: 10 # 最小空闲数量 minimumIdle: # 连接池最大数量 max-pool-size: 100 # 连接池最大数量 maximum-pool-size: # 连接超时时间 connectionTimeout: # 校验超时时间 validationTimeout: # 空闲超时时间 idleTimeout: # 此属性控制在记录指示可能的连接泄漏的消息之前连接可以离开池的时间量。值为0表示关闭泄漏检测。启用泄漏检测的最低可接受值是2000(2秒)。默认值:0 leakDetectionThreshold: # 此属性控制池中连接的最大生存期 值为0表示没有最大生存期(无限生存期),当然取决于idleTimeout设置。最小允许值为30000ms(30秒)。默认值:1800000(30分钟) maxLifetime: # 初始化失败超时时间 即 到了指定时间还没初始化完成就算失败 initializationFailTimeout: # 连接初始化SQL connectionInitSql: # 连接查询测试SQL connectionTestQuery: # 数据源类名 dataSourceClassName: com.zaxxer.hikari.HikariDataSource dataSourceJndiName: # 事务隔离级别名称 transactionIsolationName: # 自动提交 isAutoCommit: # 是否只读 isReadOnly: # 是否隔离内部查询 isIsolateInternalQueries: # 是否注册 mbean isRegisterMbeans: # 是否允许pool 挂起 isAllowPoolSuspension: # 存活时间 keepaliveTime: druid: # 官方文档: https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7%BD%AE%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8 # 初始化数量 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时 initialSize: 50 # 最大存活数量 maxActive: 50 # 最小空闲数量==>最小连接池数量 minIdle: 20 # 配置获取连接等待超时的时间 maxWait: # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 timeBetweenEvictionRunsMillis: # 配置间隔多久才进行日志统计,单位是毫秒 timeBetweenLogStatsMillis: # 统计SQL最大数量 statSqlMaxSize: # 配置一个连接在池中最小生存的时间,单位是毫秒 minEvictableIdleTimeMillis: # 配置一个连接在池中最大生存的时间,单位是毫秒 maxEvictableIdleTimeMillis: # 是否自动提交 defaultAutoCommit: # 是否只读 defaultReadOnly: # 默认事务隔离级别 defaultTransactionIsolation: # 连接空闲测试 testWhileIdle: # 当获取连接测试 testOnBorrow: # 当归还连接测试 testOnReturn: # 验证查询SQL validationQuery: # 验证查询超时时间 validationQueryTimeout: # 使用全局数据源统计 useGlobalDataSourceStat: # 异步初始化 asyncInit: # 配置监控统计拦截的filters filters: stat clearFiltersEnable: # 重置统计开关 resetStatEnable: notFullTimeoutRetryCount: # 最大等待线程数量 maxWaitThreadCount: # 快速失败 failFast: phyTimeoutMillis: # 保持连接开关 连接池中的minIdle数量以内的连接,空闲时间超过minEvictableIdleTimeMillis,则会执行keepAlive操作。 keepAlive: # ps pool开关 poolPreparedStatements: initVariants: initGlobalVariants: # 使用非公平锁 useUnfairLock: # socket读取超时 kill killWhenSocketReadTimeout: # 每个连接 最大ps 池数量 maxPoolPreparedStatementPerConnectionSize: # 共享ps sharePreparedStatements: # 连接错误重试次数 connectionErrorRetryAttempts: # 配置获取锁失败多少次 中断 breakAfterAcquireFailure: removeAbandoned: removeAbandonedTimeoutMillis: # 查询超时时间 queryTimeout: # 事务查询超时时间 transactionQueryTimeout: # 连接超时时间 connectTimeout: # socket 连接超时时间 socketTimeout: ds2: url: jdbc:mysql://xx.xx.xx.xx:3307/dynamic username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。