配置参数 缺省值 说明 name 如果存在多个数据源,监控时可以通过name属性进行区分,如果没有配置,将会生成一个名字:“DataSource-”+System.identityHashCode(this) jdbcUrl 连接数据库的url,不同的数据库url表示方式不同:
mysql:jdbc:mysql://192.16.32.128:3306/druid2
oracle : jdbc:oracle:thin:@192.16.32.128:1521:druid2 username 连接数据库的用户名 password 连接数据库的密码,密码不出现在配置文件中可以使用ConfigFilter driverClassName 根据jdbcUrl自动识别 可以不配置,Druid会根据jdbcUrl自动识别dbType,选择相应的driverClassName initialSize 0 初始化时建立物理连接的个数.
初始化过程发生在:显示调用init方法;第一次getConnection maxActive 8 最大连接池数量 minIdle 最小连接池数量 maxWait 获取连接时最大等待时间,单位毫秒.
配置maxWait默认使用公平锁等待机制,并发效率会下降.可以配置useUnfairLock为true使用非公平锁 poolPreparedStatements false 是否缓存preparedStatement,即PSCache.
PSCache能够提升对支持游标的数据库性能.
在Oracle中使用,在MySQL中关闭 maxOpenPreparedStatements -1 要启用PSCache,必须配置参数值>0,poolPreparedStatements自动触发修改为true.
Oracle中可以配置数值为100,Oracle中不会存在PSCache过多的问题 validationQuery 用来检测连接的是否为有效SQL,要求是一个查询语句
如果validationQuery=null,那么testOnBorrow,testOnReturn,testWhileIdle都不会起作用 testOnBorrow true 申请连接时执行validationQuery检测连接是否有效,会降低性能 testOnReturn false 归还连接时执行validationQuery检测连接是否有效,会降低性能 testWhileIdle false 申请连接时,空闲时间大于timeBetweenEvictionRunsMillis时,执行validationQuery检测连接是否有效
不影响性能,保证安全性,建议配置为true timeBetweenEvictionRunsMillis Destroy线程会检测连接的间隔时间
testWhileIdle的判断依据 connectionInitSqls 物理连接初始化时执行SQL exceptionSorter 根据dbType自动识别 当数据库跑出不可恢复的异常时,抛弃连接 filters 通过别名的方式配置扩展插件,属性类型是字符串:
常用的插件:
监控统计用的filter:stat
日志用的filter:log4j
防御sql注入的filter:wall proxyFilters 类型是List<com.alibaba.druid.filter.Filter>,如果同时配置了filters和proxyFilters是组合关系,不是替换关系


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/141515.html