配置参数 缺省值 说明 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是组合关系,不是替换关系 到此这篇druid连接池配置详解(druid连接池配置文件)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/30316.html