天天看點

proxool 連接配接池配置屬性說明詳解【轉】

fatal-sql-exception: 它是一個逗号分割的資訊片段.當一個SQL異常發生時,他的異常資訊将與這個資訊片段進行比較.如果

在片段中存在,那麼這個異常将被認為是個緻命錯誤(Fatal SQL Exception ).這種情況下,資料庫連接配接将要被放棄.無論發生什

麼,這個異常将會被重擲以提供給消費者.使用者最好自己配置一個不同的異常來抛出.

fatal-sql-exception-wrapper-class:正如上面所說,你最好配置一個不同的異常來重擲.利用這個屬性,使用者可以包裝

SQLException,使他變成另外一個異常.這個異常或者繼承SQLException或者繼承字RuntimeException.proxool

自帶了2個實作:'org.logicalcobwebs.proxool.FatalSQLException' 和'org.logicalcobwebs.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實作被代理的PreparedStatement 對象方法.

injectable-callable-statement-interface: 允許proxool實作被代理的CallableStatement 對象方法.

jmx: 如果屬性為true,就會注冊一個消息Bean到jms服務,消息Bean對象名: "Proxool:type=Pool, name=<alias>". 預設值為false.

jmx-agent-id: 一個逗号分隔的JMX代理清單(如使用MBeanServerFactory.findMBeanServer(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-connection-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)得到這些資訊.

verbose: 詳細資訊設定。 參數 bool 值