本文共 3871 字,大约阅读时间需要 12 分钟。
首先可以参考阿里在给出的一些说明:
Druid是一个JDBC组件,它包括三部分:
SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。
url:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8driverClassName:com.mysql.jdbc.Driverusername:rootpassword:root#------------------------------------------------------------------------------------------#配置扩展插件 监控统计用filters:stat 日志用filters:log4j 防御sql注入用filters:wallfilters:stat#最大连接池数量 初始化建立物理连接的个数 获取连接时最长的等待时间 最小连接池数量 maxIdle已经弃用maxActive:20initialSize:1maxWait:60000minIdle:10maxIdle:15#有两个含义 1.Destroy 线程会检测连接的时间 2.testWhileIdle的判断依据timeBetweenEvictionRunsMillis:60000#Destory线程中如果检测到当前连接的最后活跃时间和当前时间的差值大于minEvictableIdleTimeMillis,则关闭当前连接minEvictableIdleTimeMillis:300000#用来检测连接是否的sql,要求是一个查询语句。在mysql中通常设置为SELECT 'X'validationQuery:SELECT 'x'#申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery连接是否有效testWhileIdle:true#申请连接时执行validationQuery检测连接是否有效 这个配置会降低性能testOnBorrow:false#归还连接时执行validationQuery检测连接是否有效 这个配置会降低性能testOnReturn:false#要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为truemaxOpenPreparedStatements:20#对于建立连接超过removeAbandonedTimeout的连接强制关闭removeAbandoned:true#指定连接建立多长就被强制关闭removeAbandonedTimeout:1800#指定发生removeabandoned时,是否记录当前线程的堆栈信息到日志中logAbandoned:true
/WEB-INF/classes/dbconfig.properties
DruidWebStatFilter com.alibaba.druid.support.http.WebStatFilter exclusions *.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/* DruidWebStatFilter /* DruidStatView com.alibaba.druid.support.http.StatViewServlet allow 127.0.0.1 loginUsername admin loginPassword 123456 DruidStatView /druid/*
转载地址:http://krkpa.baihongyu.com/