1. 程式人生 > >Druid介紹及配置

Druid介紹及配置

1) 從http://repo1.maven.org/maven2/com/alibaba/druid/druid-wrapper/ 下載druid-wrapper-xxx.jar
2) 加入druid-xxx.jar
3) 從你的WEB-INF/lib/中刪除dbcp-xxx.jar
4) 按需要加上配置,比如JVM啟動引數加上-Ddruid.filters=stat,動態配置druid的filters
這種用法,使得可以在一些非自己開發的應用中使用Druid,例如在sonar中部署druid,sonar是一個使用jruby開發的web應用,寫死了DBCP,只能夠通過這種方法來更換。

  1. Druid的釋出週期是怎樣?
    Druid是一個活躍的專案,長期維護。每個月有一個釋出視窗,除非遇到重大bug和非常緊急的需求,否則都是每個月最多釋出一次。如果沒有足夠多的需求,釋出視窗就不會被使用。

  2. 如果DruidDataSource在init的時候失敗了,不再使用,是否需要close
    是的,如果DruidDataSource不再使用,必須呼叫close來釋放資源,釋放的資源包括關閉Create和Destory執行緒。

  3. DruidDataSource支援哪些資料庫?
    理論上說,支援所有有jdbc驅動的資料庫。實際測試過的有

資料庫 支援狀態
mysql 支援,大規模使用
oracle 支援,大規模使用
sqlserver 支援
postgres 支援
db2 支援
h2 支援
derby 支援
sqlite 支援
sybase 支援
26. Oracle下jdbc executeBatch時,更新行數計算不正確
使用jdbc的executeBatch 方法,如果資料庫為oracle,則無論是否成功更新到資料,返回值都是-2,而不是真正被sql更新到的記錄數,這是Oracle JDBC Driver的問題,Druid不作特殊處理。

  1. Druid如何自動根據URL自動識別DriverClass的
    Druid是根據url字首來識別DriverClass的,這樣使得配置更方便簡潔。

字首 DriverCLass 描述資訊
jdbc:odps com.aliyun.odps.jdbc.OdpsDriver
jdbc:derby org.apache.derby.jdbc.EmbeddedDriver
jdbc:mysql com.mysql.jdbc.Driver
jdbc:oracle oracle.jdbc.driver.OracleDriver
jdbc:microsoft com.microsoft.jdbc.sqlserver.SQLServerDriver
jdbc:sybase:Tds com.sybase.jdbc2.jdbc.SybDriver
jdbc:jtds net.sourceforge.jtds.jdbc.Driver
jdbc:postgresql org.postgresql.Driver
jdbc:fake com.alibaba.druid.mock.MockDriver
jdbc:mock com.alibaba.druid.mock.MockDriver
jdbc:hsqldb org.hsqldb.jdbcDriver
jdbc:db2 COM.ibm.db2.jdbc.app.DB2Driver DB2的JDBC Driver十分混亂,這個匹配不一定對
jdbc:sqlite org.sqlite.JDBC
jdbc:ingres com.ingres.jdbc.IngresDriver
jdbc:h2 org.h2.Driver
jdbc:mckoi com.mckoi.JDBCDriver
jdbc:cloudscape COM.cloudscape.core.JDBCDriver
jdbc:informix-sqli com.informix.jdbc.IfxDriver
jdbc:timesten com.timesten.jdbc.TimesTenDriver
jdbc:as400 com.ibm.as400.access.AS400JDBCDriver
jdbc:sapdb com.sap.dbtech.jdbc.DriverSapDB
jdbc:JSQLConnect com.jnetdirect.jsql.JSQLDriver
jdbc:JTurbo com.newatlanta.jturbo.driver.Driver
jdbc:firebirdsql org.firebirdsql.jdbc.FBDriver
jdbc:interbase interbase.interclient.Driver
jdbc:pointbase com.pointbase.jdbc.jdbcUniversalDriver
jdbc:edbc ca.edbc.jdbc.EdbcDriver
jdbc:mimer:multi1 com.mimer.jdbc.Driver
28. 如何儲存監控記錄

https://github.com/alibaba/druid/wiki/%E6%80%8E%E4%B9%88%E4%BF%9D%E5%AD%98Druid%E7%9A%84%E7%9B%91%E6%8E%A7%E8%AE%B0%E5%BD%95