zoukankan      html  css  js  c++  java
  • 阿里数据源Druid配置详情

      <bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource"  
            init-method="init" destroy-method="close">  
            <!-- 一、基本项: -->
            <property name="url" value="${jdbc.url}" />  
            <property name="username" value="${jdbc.username}" />  
            <property name="password" value="${jdbc.password}" />
            
            <!-- 二、连接数量配置项: -->
            <!-- 2.1、初始化连接数
                 默认值:0
            -->  
            <property name="initialSize" value="100" />
            <!-- 2.2、最大使用连接数 
                 默认值:8
            -->  
            <property name="maxActive" value="500" />
            <!-- 2.3、最小空闲连接数 -->  
            <property name="minIdle" value="100" />
            
            <!-- 三、连接测试项: -->
            <!-- 3.1、获取连接的最大等待时间(毫秒) -->  
            <property name="maxWait" value="10000" />
            <!-- 3.2、用来检测连接是否有效的sql,select 1:返回1 -->  
            <property name="validationQuery" value="select 1" />
            <!-- 3.3、申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能  
                 默认值:true
            -->
            <property name="testOnBorrow" value="true" />
            <!-- 3.4、归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能 
                 默认值:false
            -->
            <property name="testOnReturn" value="false" />  
            <!-- 3.5、建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效 
                 默认值:false
            -->
            <property name="testWhileIdle" value="true" />
            
            <!-- 四、Destory线程配置项: -->
            <!-- 4.1、Destory线程执行检测的时间间隔,检测需要关闭的空闲连接(毫秒) -->
            <property name="timeBetweenEvictionRunsMillis" value="60000" />  
            <!-- 4.2、Destory线程如果检测到当前连接的最后活跃时间和当前时间的差值大于minEvictableIdleTimeMillis,则关闭当前连接(毫秒) -->  
            <property name="minEvictableIdleTimeMillis" value="300000" />
            
            <!-- 五、remove线程项: -->
            <!-- 5.1、对于存活时间超过removeAbandonedTimeout的连接强制关闭 -->  
            <property name="removeAbandoned" value="true" />  
            <!-- 5.2、单位:秒 -->  
            <property name="removeAbandonedTimeout" value="1800" />  
            <!-- 5.3、关闭abanded连接时输出错误日志 
                默认值:false
            -->  
            <property name="logAbandoned" value="true" />  
            
            <!-- 六、监控项: -->
            <!-- 6.1、监控数据库 -->  
            <property name="filters" value="mergeStat" />  
            
            <!-- 七、选配项: -->
            <!-- 7.1、是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭
                 默认值:false
            <property name="poolPreparedStatements" value="true" />  
            -->
            <!-- 7.2、每个连接上PSCache的大小 ,要配置必须大于0,当大于0了poolPreparedStatements自动触发为true
                在Druid中,不会存在Oracle下PSCache占用内存过多的问题,可以把这个数值配置大一些,比如说100
                 默认值:-1
            <property name="maxPoolPreparedStatementPerConnectionSize" value="20" />
            -->
        </bean>

    注意:driverClassName属性可以不用配置,druid会根据url自动识别

    更多数据源配置请查看:https://www.cnblogs.com/JavaSubin/p/5294721.html

    druid数据源配置优化:https://blog.csdn.net/hetaohappy/article/details/51861015

    druid的maven依赖:

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.0.25</version>
    </dependency>
  • 相关阅读:
    【代码笔记】iOS-字符串替换回车和换行
    【代码笔记】iOS-在Block中修改外部变量值的
    【代码笔记】iOS-在导航栏中显示等待对话框
    【代码笔记】iOS-手机版本号,机型,操作系统版本,设备唯一标识符
    【代码笔记】iOS-密码在进入后台1小时后重新设置
    【代码笔记】iOS-获得现在的时间(2015-09-11)
    【代码笔记】iOS-对数组进行排序
    【代码笔记】iOS-播放从网络上下载的语音
    【代码笔记】iOS-将地址解析成经纬度
    【代码笔记】iOS-长条label
  • 原文地址:https://www.cnblogs.com/javafucker/p/8662474.html
Copyright © 2011-2022 走看看