最近看了很多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: