德鲁伊基本配置及内置监控使用_动力节点Java学院整理

  

1只,使用方法
  

  

首先从http://repo1.maven.org/maven2/com/alibaba/druid/ 下载最新的jar包。如果想使用最新的源码编译,可以从https://github.com/alibaba/druid 下载源码,然后使用maven命令行,或者导入到eclipse中进行编译。
  和dbcp类似,德鲁伊的配置项如下:

  

              

配置         

缺省值         

说明               

名称         

,

        

配置这个属性的意义在于,如果存在多个数据源,监控的时候
  可以通过名字来区分开来。如果没有配置,将会生成一个名字,
  格式是:“数据源——“+ System.identityHashCode(这)

              jdbcUrl

        

,

        

连接数据库的网址,不同数据库不一样例。如:
  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

              initialSize

        

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检测连接是否有效。

              

德鲁伊基本配置及内置监控使用_动力节点Java学院整理