1只,使用方法
首先从http://repo1.maven.org/maven2/com/alibaba/druid/ 下载最新的jar包。如果想使用最新的源码编译,可以从https://github.com/alibaba/druid 下载源码,然后使用maven命令行,或者导入到eclipse中进行编译。
和dbcp类似,德鲁伊的配置项如下:
配置
缺省值
说明
名称
,
配置这个属性的意义在于,如果存在多个数据源,监控的时候
可以通过名字来区分开来。如果没有配置,将会生成一个名字,
格式是:“数据源——“+ System.identityHashCode(这)
,
连接数据库的网址,不同数据库不一样例。如:
MySQL : jdbc: mysql://10.20.153.104:3306/druid2
Oracle : jdbc: oracle:薄:@10.20.149.85:1521:ocnauto
用户名
,
连接数据库的用户名
密码
,
连接数据库的密码。如果你不希望密码直接写在配置文件中,
可以使用ConfigFilter。详细看这里:
https://github.com/alibaba/druid/wiki/%E4%BD%BF%E7%94%A8ConfigFilter
driverClassName
根据url自动识别
这一项可配可不配,如果不配置德鲁伊会根据url自动识别dbType,
然后选择相应的driverClassName
0
初始化时建立物理连接的个数。初始化发生在显示调用初始化方法,
或者第一次getConnection时
maxActive 8
最大连接池数量
maxIdle 8
已经不再使用,配置了也没效果
minIdle
,
最小连接池数量
maxWait
,
获取连接时最大等待时间,单位毫秒。配置了maxWait之后,
缺省启用公平锁,并发效率会有所下降,
如果需要可以通过配置useUnfairLock属性为真正的使用非公平锁。
poolPreparedStatements
假
是否缓存preparedStatement,也就是PSCache。
PSCache对支持游标的数据库性能提升巨大,比如说甲骨文。
在mysql5.5以下的版本中没有PSCache功能,建议关闭掉。
5.5及以上版本有PSCache,建议开启。
maxOpenPreparedStatements
1
要启用PSCache,必须配置大于0,当大于0时,
poolPreparedStatements自动触发修改为真的。
在德鲁伊中,不会存在甲骨文下PSCache占用内存过多的问题,
可以把这个数值配置大一些,比如说100
validationQuery
,
用来检测连接是否有效的sql,要求是一个查询语句。
如果validationQuery为null, testOnBorrow testOnReturn,
testWhileIdle都不会其作用。
testOnBorrow
真的
申请连接时执行validationQuery检测连接是否有效,
做了这个配置会降低性能。
testOnReturn
假
归还连接时执行validationQuery检测连接是否有效,
做了这个配置会降低性能
testWhileIdle
假
建议配置为真,不影响性能,并且保证安全性。
申请连接的时候检测,如果空闲时间大于
timeBetweenEvictionRunsMillis,
执行validationQuery检测连接是否有效。