2025年druid连接池配置详解(druid连接池配置文件)

druid连接池配置详解(druid连接池配置文件)配置参数 缺省值 说明 name 如果存在多个数据源 监控时可以通过 name 属性进行区分 如果没有配置 将会生成一个名字 DataSource System identityHash this jdbcUrl 连接数据库的 url 不同的数据库 url 表示方式不同 mysql jdbc mysql 192 16 32 128

大家好,我是讯享网,很高兴认识大家。

 配置参数 缺省值 说明 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是组合关系,不是替换关系


讯享网

小讯
上一篇 2025-04-26 22:16
下一篇 2025-05-02 10:19

相关推荐

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