springboot使用dynamic-datasource和druid配置多数据库连接及druid监控
一、首先需要引入的jar包
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.6</version>
</dependency>
二、spring yaml的配置,注意druid的缩进,错了不起作用
spring:
autoconfigure:
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
datasource:
dynamic:
primary: postgresql # 配置默认数据库
strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
datasource:
postgresql:
url: jdbc:postgresql://127.0.0.1:5432/postgres?stringtype=unspecified
username: postgres
password: admin123
driver-class-name: org.postgresql.Driver
druid:
initial-size: 10
min-idle: 10
max-active: 500
max-wait: 60000
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
clickhouse:
url: jdbc:clickhouse://127.0.0.1:8123/default
username: default
password: admin123
driver-class-name: ru.yandex.clickhouse.ClickHouseDriver
druid:
initial-size: 50
min-idle: 50
max-active: 2000
max-wait: 120000
time-between-eviction-runs-millis: 120000
min-evictable-idle-time-millis: 600000
druid:
test-while-idle: false
test-on-borrow: false
test-on-return: false
pool-prepared-statements: true
filters: stat,wall,log4j2
druid:
web-stat-filter:
enabled: true
url-pattern: /*
exclusions: /druid/*,*.js,*.gif,*.jpg,*.png,*.css,*.ico
stat-view-servlet:
enabled: true
url-pattern: /druid/*
reset-enable: false
login-username: admin
login-password: admin123
# StatViewSerlvet展示出来的监控信息比较敏感,是系统运行的内部情况,如果你需要做访问控制,可以配置allow和deny这两个参数
# deny优先于allow,如果在deny列表中,就算在allow列表中,也会被拒绝。如果allow没有配置或者为空,则允许所有访问
# 配置的格式
# <IP>
# 或者<IP>/<SUB_NET_MASK_size>其中128.242.127.1/24
# 24表示,前面24位是子网掩码,比对的时候,前面24位相同就匹配,不支持IPV6。
allow:
deny:
三、下面是druid的其它配置参数,可以参考
spring:
# 配置数据库信息
datasource:
# 数据源配置
username: root
password: 123456
url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=GMT%2B8&characterEncoding=UTF-8&useSSL=false
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
# druid相关配置
druid:
# 初始化 最小 最大
initial-size: 5
min-idle: 5
max-active: 20
# 配置获取连接等待超时的时间
max-wait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
time-between-eviction-runs-millis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
min-evictable-idle-time-millis: 300000
validation-query: SELECT 'x'
test-while-idle: true
test-on-borrow: false
test-on-return: false
# 打开PSCache,并且指定每个连接上PSCache的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
# 配置多个英文逗号分隔
filters: stat,wall
# WebStatFilter配置,说明请参考Druid Wiki,配置_配置WebStatFilter
# 是否启用StatFilter默认值true
web-stat-filter:
enabled: true
url-pattern: /*
exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
session-stat-enable: false
session-stat-max-count: 1000
principal-cookie-name: admin
principal-session-name: admin
profile-enable: true
# 根据配置中的url-pattern来访问内置监控页面,如果是上面的配置,内置监控页面的首页是/druid/index.html
# http://loacalhsot:8081/druid
stat-view-servlet:
url-pattern: /druid/* # 监控页面访问路径
# 允许清空统计数据
reset-enable: true
login-username: admin
login-password: 123456
# StatViewSerlvet展示出来的监控信息比较敏感,是系统运行的内部情况,如果你需要做访问控制,可以配置allow和deny这两个参数
# deny优先于allow,如果在deny列表中,就算在allow列表中,也会被拒绝。如果allow没有配置或者为空,则允许所有访问
# 配置的格式
# <IP>
# 或者<IP>/<SUB_NET_MASK_size>其中128.242.127.1/24
# 24表示,前面24位是子网掩码,比对的时候,前面24位相同就匹配,不支持IPV6。
allow:
deny:
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
二维码