首页 > 其他分享 >SpringBoot2,Druid数据源常用配置

SpringBoot2,Druid数据源常用配置

时间:2023-10-17 19:25:28浏览次数:31  
标签:false 数据源 Druid SpringBoot2 连接池 test true 连接 空闲

spring:
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/mybatis?serverTimeZone=UTC
      username: root
      password: root
      max-wait: 2000 # 获取连接的最大等待时间
      initial-size: 5 # 初始化时连接池的数量
      max-active: 20 # 最大连接池数量
      min-idle: 3 # 最小连接池数量
      validation-query: select 1 # 用来检测连接是否有效的sql,如果此配置为空,那么下面三条均不会生效
      test-on-borrow: false # 申请连接时检测
      test-on-return: false # 归还连接时检测
      # 原文链接:https://blog.csdn.net/aaronmer/article/details/120199069
      test-while-idle: true # 设置申请连接的时候有空闲连接时进行检测,test-on-borrow为false时才生效,
      time-between-eviction-runs-millis: 60000 # 指定空闲间隔时间,仅检测有效性,并不会关闭链接
      # 原文链接:https://www.jianshu.com/p/be9dbe640daf
      # minEvictableIdleTimeMillis(默认30分钟) 连接空闲时间大于该值并且池中空闲连接大于minIdle则关闭该连接
      # maxEvictableIdleTimeMillis(默认7小时) 连接空闲时间大于该值,不管minIdle都关闭该连接
      connection-error-retry-attempts: 1 # 创建链接错误的重试次数
      break-after-acquire-failure: true # true表示向数据库请求连接失败后,就算后端数据库恢复正常也不进行重连,客户端对pool的请求都拒绝掉,false表示新的请求都会尝试去数据库请求connection,默认为false
    <!--DruidDataSource使用必须要注意,CreateConnectionThread线程是死循环,必须设置-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
        <!--用来检测连接是否有效-->
        <property name="validationQuery" value="select 1"/>
        <!--借用连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能-->
        <property name="testOnBorrow" value="false"/>
        <!--归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能-->
        <property name="testOnReturn" value="false"/>
        <!--连接空闲时检测,如果连接空闲时间大于timeBetweenEvictionRunsMillis指定的毫秒,执行validationQuery指定的SQL来检测连接是否有效-->
        <property name="testWhileIdle" value="true"/>
        <!--指定一分钟为空闲-->
        <property name="timeBetweenEvictionRunsMillis" value="60000"/>
        <!--创建连接失败重试次数-->
        <property name="connectionErrorRetryAttempts" value="1"/>
        <!--失败次数到达connectionErrorRetryAttempts值后,睡眠timeBetweenConnectErrorMillis时间,然后继续进行创建连接-->
        <property name="timeBetweenConnectErrorMillis" value="60000"/>
        <!--在进行睡眠之前,先查看该配置项是否为true,如果是,则退出死循环,此处会导致后续再也不进行创建连接(因为此处线程开启,仅在 createAndStartCreatorThread()方法中, 而该方法在 init() 方法中,在进行初始化时,有一个 inited 标志值,第一次进行初始化后,就将该值置为 true, 后续不再改为false,除非调用 restart()方法)-->
        <!--true表示向数据库请求连接失败后,就算后端数据库恢复正常也不进行重连,客户端对pool的请求都拒绝掉,false表示新的请求都会尝试去数据库请求connection,默认为false-->
        <property name="breakAfterAcquireFailure" value="false"/>
        <!--不解释了,如果有一天我看不懂这俩,希望那时候的我转行-->
        <property name="maxActive" value="20"/>
        <property name="initialSize" value="5"/>
    </bean>

标签:false,数据源,Druid,SpringBoot2,连接池,test,true,连接,空闲
From: https://www.cnblogs.com/immengxin/p/17770453.html

相关文章

  • java serverlets使用数据源连接oracle数据库,并执行查询操作代码
    packagechap03;importjava.io.IOException;importjava.io.PrintWriter;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.PreparedStatement;importjava.sql.Statement;importjava.u......
  • Druid连接池的简单使用
    Druid的简介Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBossDataSource。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Druid是阿里巴......
  • 【精品】使用druid 获取数据库表的信息
    Maven依赖<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifac......
  • 无涯教程-DBUtils - 使用数据源
    到目前为止,无涯教程在使用QueryRunner时使用了连接对象,也可以无缝链接数据源。下面的示例将演示如何在QueryRunner和数据源的帮助下使用Read查询读取记录。将从员工表中读取一条记录。语法QueryRunnerqueryRunner=newQueryRunner(dataSource);Employeeemp=queryRunner.qu......
  • WPF中Image控件绑定数据源,解决图片被占用问题
    WPF中Image控件的数据源如果设置为路径,或者后台通过Image.FromFile来绑定,该图片将被占用,如要进行图片压缩、删除等操作则会报图片被占用的错;所以可以从内存中加载图片进行绑定。以下为MVVMLight模式,首先增加一个图片路径值转换的类publicclassImageConvert:IValueConverte......
  • springboot2.4下使用JUnit依赖注入失败的解决方案
    首先在pom.xml下引入JUnit必须的包:<dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId&......
  • 大数据、数据挖掘、机器学习、数据分析等专业的数据源网站——案例数据下载
    现在的大学计算机开设了下面的几个方向:大数据、数据挖掘、机器学习、数据分析 但是,上面的   ================================= 数据分析方向推荐入门书: ......
  • Rust Druid桌面应用框架
    目录Github管方文档简介声明式UI数据绑定高性能可扩展性跨平台事件处理生命周期管理社区支持设置国内镜像添加依赖官方示例下载依赖并编译运行Githubhttps://github.com/linebender/druid管方文档https://docs.rs/druid/latest/druid/简介Druid是一个用于构建现代、高......
  • 转:Java安全漏洞:Druid未授权访问解决
    Java安全漏洞:Druid未授权访问解决 1.设置账号密码2.禁用durid ......
  • 多数据源管理:掌握@DS注解的威力
    大家在日常后端开发过程,不可避免的会接触到需要用到配置多个数据源的场景,在这里,小编介绍一种简单方便的,只需要简单的配置和一个@DS注解就能实现动态数据源的方式,这种动态数据源底层原理是基于Mybatis-plus来实现的。1、配置方式首先是pom.xml<dependency><groupId>com......