druid数据库连接池
timeBetweenEvictionRunsMillis
有两个含义:
1) Destroy线程会检测连接的间隔时间
2) testWhileIdle的判断依据,详细看testWhileIdle属性的说明
testWhileIdle
默认为false 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
validationQuery属性
用来检测连接是否有效的sql,要求是一个查询语句。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用。
testOnBorrow属性
testOnBorrow 默认true 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
testOnReturn属性
testOnReturn 默认false 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
jdbc.driver=net.sf.log4jdbc.DriverSpy
jdbc.url=jdbc:log4jdbc:oracle:thin:@172.16.235.101:1521:devdb
jdbc.connectionProperties=clientEncoding=UTF-8;config.decrypt=true
jdbc.username=thumb2
jdbc.password=Biyu5YzU+6sxDRbmWEa3B2uUcImzDo0BuXjTlL505+/pTb+/0Oqd3ou1R6J8+9Fy3CYrM18nBDqf6wAaPgUGOg==
timeBetweenEvictionRunsMillis= 60000
minEvictableIdleTimeMillis= 300000
validationQuery= SELECT 'x' FROM DUAL
testWhileIdle= true
testOnBorrow= false
testOnReturn= false
参考链接http://www.cnblogs.com/wuyun-blog/p/5679073.html
https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7%BD%AE%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8