1 Apache-DBCP:
dataSource: 要鏈接的 datasource (一般咱們不會定義在 server.xml)
defaultAutoCommit: 對於事務是否 autoCommit, 默認值爲 true
defaultReadOnly: 對於數據庫是否只能讀取, 默認值爲 false
driverClassName: 鏈接數據庫所用的 JDBC Driver Class,
maxActive: 能夠從對象池中取出的對象最大個數,爲0則表示沒有限制,默認爲8
maxIdle: 最大等待鏈接中的數量,設 0 爲沒有限制 (對象池中對象最大個數)
minIdle: 對象池中對象最小個數
maxWait: 最大等待秒數, 單位爲 ms, 超過期間會丟出錯誤信息
password: 登錄數據庫所用的密碼
url: 鏈接數據庫的 URL
username: 登錄數據庫所用的賬號
validationQuery: 驗證鏈接是否成功, SQL SELECT 指令至少要返回一行
removeAbandoned: 是否自我中斷, 默認是 false
removeAbandonedTimeout: 幾秒後會自我中斷, removeAbandoned 必須爲 true
logAbandoned: 是否記錄中斷事件, 默認爲 false
minEvictableIdleTimeMillis:大於0 ,進行鏈接空閒時間判斷,或爲0,對空閒的鏈接不進行驗證;默認30分鐘
timeBetweenEvictionRunsMillis:失效檢查線程運行時間間隔,若是小於等於0,不會啓動檢查線程,默認-1
testOnBorrow: 取得對象時是否進行驗證,檢查對象是否有效,默認爲false
testOnReturn: 返回對象時是否進行驗證,檢查對象是否有效,默認爲false
testWhileIdle: 空閒時是否進行驗證,檢查對象是否有效,默認爲false
initialSize: 初始化線程數 web
2 C3P0:
acquireIncrement: 當鏈接池中的鏈接耗盡的時候c3p0一次同時獲取的鏈接數。Default: 3
acquireRetryAttempts: 定義在從數據庫獲取新鏈接失敗後重復嘗試的次數。Default: 30
acquireRetryDelay: 兩次鏈接中間隔時間,單位毫秒。Default: 1000
autoCommitOnClose: 鏈接關閉時默認將全部未提交的操做回滾。Defaul t: false
automaticTestTable: c3p0將建一張名爲Test的空表,並使用其自帶的查詢語句進行測試。若是定義了這個參數那麼屬性preferredTestQuery將被忽略。你不 能在這張Test表上進行任何操做,它將只供c3p0測試使用。Default: null
breakAfterAcquireFailure: 獲取鏈接失敗將會引發全部等待鏈接池來獲取鏈接的線程拋出異常。可是數據源仍有效保留,並在下次調用getConnection()的時候繼續嘗試獲取連 接。若是設爲true,那麼在嘗試獲取鏈接失敗後該數據源將申明已斷開並永久關閉。Default: false
checkoutTimeout: 當鏈接池用完時客戶端調用getConnection()後等待獲取新鏈接的時間,超時後將拋出SQLException,如設爲0則無限期等待。單位毫秒。Default: 0
connectionTesterClassName: 經過實現ConnectionTester或QueryConnectionT ester的類來測試鏈接。類名需制定全路徑。Default: com.mchange.v2.c3p0.impl.Def aultConnectionTester
factoryClassLocation: 指定c3p0 libraries的路徑,若是(一般都是這樣)在本地便可得到那麼無需設置,默認null便可Default: null
idleConnectionTestPeriod: 每60秒檢查全部鏈接池中的空閒鏈接。Defaul t: 0
initialPoolSize: 初始化時獲取三個鏈接,取值應在minPoolSize與maxPoolSize之間。Default: 3
maxIdleTime: 最大空閒時間,60秒內未使用則鏈接被丟棄。若爲0則永不丟棄。Default: 0
maxPoolSize: 鏈接池中保留的最大鏈接數。Default: 15
maxStatements: JDBC的標準參數,用以控制數據源內加載的PreparedSt atements數量。但因爲預緩存的statements屬於單個connection而不是整個鏈接池。因此設置這個參數須要考慮到多方面的因素。如 果maxStatements與maxStatementsPerConnection均爲0,則緩存被關閉。Default: 0
maxStatementsPerConnection: maxStatementsPerConnection定義了鏈接池內單個鏈接所擁有的最大緩存statements數。Default: 0
numHelperThreads: c3p0是異步操做的,緩慢的JDBC操做經過幫助進程完成。擴展這些操做能夠有效的提高性能經過多線程實現多個操做同時被執行。Default: 3
overrideDefaultUser:當用戶調用getConnection()時使root用戶成爲去獲取鏈接的用戶。主要用於鏈接池鏈接非c3p0的數據源時。Default: null
overrideDefaultPassword:與overrideDefaultUser參數對應使用的一個參數。Default: null
password: 密碼。Default: null
user: 用戶名。Default: null
preferredTestQuery:定義全部鏈接測試都執行的測試語句。在使用鏈接測試的狀況下這個一顯著提升測試速度。注意:測試的表必須在初始數據源的時候就存在。Default: null
propertyCycle: 用戶修改系統配置參數執行前最多等待300秒。Defaul t: 300
testConnectionOnCheckout:因性能消耗大請只在須要的時候使用它。若是設爲true那麼在每一個connection提交的時候都 將校驗其有效性。建議使用idleConnectio nTestPeriod或automaticTestTable等方法來提高鏈接測試的性能。Default: false
testConnectionOnCheckin:若是設爲true那麼在取得鏈接的同時將校驗鏈接的有效性。Default: false sql
3 Proxool:
acquireIncrement: 當鏈接池中的鏈接耗盡的時候c3p0一次同時獲取的鏈接數。Default: 3
fatal-sql-exception : 它是一個逗號分割的信息片斷.當一個SQL異常發生時,他的異常信息將與這個信息片斷進行比較.若是在片斷中存在,那麼這個異常將被認爲是個致命錯誤 (Fatal SQL Exception ).這種狀況下,數據庫鏈接將要被放棄.不管發生什麼,這個異常將會被重擲以提供給消費者.用戶最好本身配置一個不一樣的異常來拋出.
fatal-sql-exception-wrapper-class : 正如上面所說,你最好配置一個不一樣的異常來重擲.利用這個屬性,用戶能夠包裝SQLException,使他變成另一個異常.這個異常或者繼承 SQLException或者繼承字RuntimeException.proxool 自帶了2個實現:'org.logicalcobwebs.proxool .FatalSQLException' 和'org.logicalcobweb s.proxool .FatalRuntimeException' .後者更合適.
house-keeping-sleep-time : house keeper 保留線程處於睡眠狀態的最長時間,house keeper 的職責就是檢查各個鏈接的狀態,並判斷是否須要銷燬或者建立.
house-keeping-test-sql : 若是發現了空閒的數據庫鏈接.house keeper 將會用這個語句來測試.這個語句最好很是快的被執行.若是沒有定義,測試過程將會被忽略。
injectable-connection-interface : 容許proxool 實現被代理的connection對象法.
injectable-statement-interface : 容許proxool 實現被代理的Statement 對象方法.
injectable-prepared-statement-interface : 容許proxool 實現被代理的PreparedS tatement 對象方法.
injectable-callable-statement-interface : 容許proxool 實現被代理的CallableStat ement 對象方法.
jmx : 若是屬性爲true,就會註冊一個消息Bean到jms服務,消息Bean對象名: "Proxool:type=Pool, name=<alias>". 默認值爲false.
jmx-agent-id : 一個逗號分隔的JMX代理列表(如使用MbeanServerFactory .fi ndMBeanServer(String agentId)註冊的鏈接池。)這個屬性是僅當"jmx"屬性設置爲"true"纔有效。全部註冊jmx服務器使用這個屬性是不肯定的
jndi-name : 數據源的名稱
maximum-active-time : 若是housekeeper 檢測到某個線程的活動時間大於這個數值.它將會殺掉這個線程.因此確認一下你的服務器的帶寬.而後定一個合適的值.默認是5分鐘.
maximum-connection-count : 最大的數據庫鏈接數.
maximum-connection-lifetime : 一個線程的最大壽命.
minimum-connection-count : 最小的數據庫鏈接數
overload-without-refusal-lifetime : 這能夠幫助咱們肯定鏈接池的狀態。若是咱們已經拒絕了一個鏈接在這個設定值(毫秒),而後被認爲是超載。默認爲60秒。
prototype-count : 鏈接池中可用的鏈接數量.若是當前的鏈接池中的鏈接少於這個數值.新的鏈接將被創建(假設沒有超過最大可用數).例如.咱們有3個活動鏈接2個可用鏈接, 而咱們的prototype-count是4,那麼數據庫鏈接池將試圖創建另外2個鏈接.這和 minimum-connection-count不一樣. minimum-connect ion-count把活動的鏈接也計算在內.prototype-count 是spare connections 的數量.
recently-started-threshold :這能夠幫助咱們肯定鏈接池的狀態,鏈接數少仍是多或超載。只要至少有一個鏈接已開始在此值(毫秒)內,或者有一些多餘的可用鏈接,那麼咱們假設鏈接池是開啓的。默認爲60秒
simultaneous-build-throttle :這是咱們可一次創建的最大鏈接數。那就是新增的鏈接請求,但尚未可供使用的鏈接。因爲鏈接可使用多線程,在有限的時間之間創建聯繫從而帶來可用連 接,可是咱們須要經過一些方式確認一些線程並非當即響應鏈接請求的,默認是10。
statistics : 鏈接池使用情況統計。 參數「10s,1m,1d」
statistics-log-level :日誌統計跟蹤類型。 參數「ERROR」或 「INFO」
test-before-use : 若是爲true,在每一個鏈接被測試前都會服務這個鏈接,若是一個鏈接失敗,那麼將被丟棄,另外一個鏈接將會被處理,若是全部鏈接都失敗,一個新的鏈接將會被創建。不然將會拋出一個SQLException異常。
test-after-use : 若是爲true,在每一個鏈接被測試後都會服務這個鏈接,使其回到鏈接池中,若是鏈接失敗,那麼將被廢棄。
trace : 若是爲true,那麼每一個被執行的SQL語句將會在執行期被log記錄(DEBUG LEVEL).你也能夠註冊一個ConnectionListener (參看ProxoolFacade)獲得這些信息 數據庫
4 BoneCP:
acquireIncrement: 當鏈接池中的鏈接耗盡的時候c3p0一次同時獲取的鏈接數。Default: 3
driveClass: 數據庫驅動
jdbcUrl: 響應驅動的jdbcUrl
username: 數據庫的用戶名
password: 數據庫的密碼
idleConnectionTestPeriod:檢查數據庫鏈接池中控線鏈接的間隔時間,單位是分,默認值:240,若是要取消則設置爲0
idleMaxAge: 鏈接池中未使用的連接最大存活時間,單位是分,默認值:60,若是要永遠存活設置爲0
maxConnectionsPerPartition:每一個分區最大的鏈接數
minConnectionsPerPartition:每一個分區最小的鏈接數
partitionCount: 分區數,默認值2,最小1,推薦3-4,視應用而定
acquireIncrement: 每次去拿數據庫鏈接的時候一次性要拿幾個,默認值:2
statementsCacheSize:緩存prepared statements的大小,默認值:0
releaseHelperThreads:每一個分區釋放連接助理進程的數量,默認值:3,除非你的一個數據庫鏈接的時間內作了不少工做,否則過多的助理進程會影響你的性能 緩存