最近看了很多druid的配置,发现有些云里雾里,自己参考文档写了一份配置,需要的同学自己改吧改吧
spring:
#数据库配置
datasource:
#这里使用的是德鲁伊数据库连接池
druid:
db-type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url:
username:
password:
#初始连接数量
initial-size: 20
#最小连接数量
min-idle: 20
#最大连接数量
max-active: 1000
#获取连接等待超时的时间 单位是毫秒,这里配置60秒
max-wait: 60000
#查询超时时间 单位是毫秒 这里配置6秒,如果你查询数据量大的情况下这个配置的大一点,不然查询报错抛出异常
query-timeout: 6000
#事务发生回滚后多长时间响应用户单位是毫秒,这里这个时间和mysql的innodb_lock_wait_timeout是相加的关系,如果你在mysql配置文件配置了这个时间,那时间就会相加
transaction-query-timeout: 2000
#配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位毫秒, 这里配置10分钟去检测一次是否存在空闲连接
time-between-eviction-runs-millis: 600000
#最大等待线程数量 这里配置50,当你的连接满了之后,其他的连接进入等待池子,最大的数量为50,超过这个数量的线程舍弃掉
max-wait-thread-count: 50
#最小连接时间,也就是说一条线程的空闲时间超过了这个数就会被关闭,这里的单位是毫秒,这里设置为10分钟
min-evictable-idle-time-millis: 600000
#最大连接时间,也就是说一条线程的空闲时间>最小连接时间,也>最大连接时间,直接关闭 这里设置为30分钟
max-evictable-idle-time-millis: 1800000
#申请连接时直接检测连接是否有效
test-on-borrow: true
#申请连接时检测空闲时间,根据空闲时间再检测连接是否有效
test-while-idle: true
#归还连接时检测连接是否有效,这个配置生产最好不要配置设置为ture,有性能问题
test-on-return: true
#初始连接失败是否抛出异常
init-exception-throw: true
#开启检查运行的状态
check-execute-time: true
#这里是健康检查sql语句,配合下面的使用
validation-query: SELECT 1 FROM DUAL
#多长时间进行一次心跳去检查是否连接了mysql,这里配置为30分钟
validation-query-timeout: 1800000
#连接出错后在尝试3次
connection-error-retry-attempts: 3
#数据库宕机后启用重连机制,true表示失败后立即断开,false表示失败后进行断线重连尝试,配合上面的重连次数
break-after-acquire-failure: false
#重连的间隔 单位毫秒 这里设置30分钟重连
time-between-connect-error-millis: 1800000
#开启保持连接有效性
keep-alive: true
#只有空闲时间大于keep-alive-between-time-millis并且小于min-evictable-idle-time-millis该参数才会有用,单位为毫秒 这里设置为15分钟
#这个时间必须大于检测时间time-between-eviction-runs-millis
keep-alive-between-time-millis: 900000
#这个目前不知道做什么的,字面意思看是杀死什么时候的读的socket超时时间
#kill-when-socket-read-timeout: