文章出處

參數 默認值 描述 建議值
DefaultAutoCommit
 null  
通過這個池創建連接的默認自動提交狀態。如果不設置,則setAutoCommit 方法將不被調用。
 true
 
DefaultReadOnly
 null
通過這個池創建連接的默認只讀狀態。如果不設置,則setReadOnly  方法將不被調用。(部分驅動不支持只讀模式,如:Informix)
 
 false
 
DefaultTransactionIsolation
-1   
通過這個池創建連接的默認事務策略,設置值為下列中的某一個:Connection.TRANSACTION_READ_COMMITTED 
NONE、READ_COMMITTED、READ_UNCOMMITTED、REPEATABLE_READ、SERIALIZABLE、
Connection.TRANSACTION_READ_COMMITTED
 
 
DefaultCatalog
null   
通過這個池創建連接的默認缺省的catalog
 
 
CacheState
true   
//如果設置為true,池化的連接將在第一次讀或寫,以及隨后的寫的時候緩存當前的只讀狀態和自動提交設置。
// 這樣就省去了對getter的任何進一步的調用時對數據庫的額外查詢。
// 如果直接訪問底層連接,只讀狀態和/或自動提交設置改變緩存值將不會被反映到當前的狀態,在這種情況下,應該將該屬性設置為false以禁用緩存。
 
       
InitialSize
0
當這個池被啟動時初始化的創建的連接個數
 10
MaxTotal
8  
可以在這個池中同時被分配的有效連接數的最大值,如設置為負數,則不限制
 100
MaxIdle
8  
可以在池中保持空閑的最大連接數,超出設置值之外的空閑連接將被回收,如設置為負數,則不限制
20 
MinIdle
 0  
可以在池中保持空閑的最小連接數,超出設置值之外的空閑連接將被創建,如設置為0,則不創建
10
MaxWaitMillis
 -1
(如果沒有可用連接)池在拋出異常前等待的一個連接被歸還的最大毫秒數,設置為-1則等待時間不確定
 
 500
ValidationQuery
null 
在連接池返回連接給調用者前用來進行連接校驗的查詢sql。
如果指定,則這個查詢必須是一個至少返回一行數據的SQL SELECT語句。
如果沒有指定,則連接將通過調用isValid() 方法進行校驗。
 
SELECT 1 FROM DUAL
TestOnCreate
 false  
指明對象在創建后是否需要被校驗,如果對象校驗失敗,則觸發對象創建的租借嘗試將失敗。
 
TestOnBorrow
 true  
指明在從池中租借對象時是否要進行校驗,如果對象校驗失敗,則對象將從池子釋放,然后我們將嘗試租借另一個
 
TestOnReturn
false  
指明在將對象歸還給連接池前是否需要校驗
 
TestWhileIdle
false   
指明對象是否需要通過對象驅逐者進行校驗(如果有的話),假如一個對象校驗失敗,則對象將被從池中釋放。
 true
TimeBetweenEvictionRunsMillis
-1   
空閑對象驅逐線程運行時的休眠毫秒數,如果設置為非正數,則不運行空閑對象驅逐線程
 
NumTestsPerEvictionRun
 3  
在每個空閑對象驅逐線程運行過程中中進行檢查的對象個數。(如果有的話)
 
MinEvictableIdleTimeMillis
 
1000 * 60 * 30
 
符合對象驅逐對象驅逐條件的對象在池中最小空閑毫秒總數(如果有的話)
 
SoftMinEvictableIdleTimeMillis
 -1  
符合對象驅逐對象驅逐條件的對象在池中最小空閑毫秒總數,額外的條件是池中至少保留有minIdle所指定的個數的連接。
當miniEvictableIdleTimeMillis 被設置為一個正數,空閑連接驅逐者首先檢測miniEvictableIdleTimeMillis,
當空閑連接被驅逐者訪問時,首先與miniEvictableIdleTimeMillis 所指定的值進行比較(而不考慮當前池中的空閑連接數),
然后比較softMinEvictableIdleTimeMillis所指定的連接數,包括minIdle條件。
 
MaxConnLifetimeMillis
 -1  
一個連接的最大存活毫秒數。如果超過這個時間,則連接在下次激活、鈍化、校驗時都將會失敗。如果設置為0或小于0的值,則連接的存活時間是無限的。
 
ConnectionInitSqls
 null  
在第一次創建時用來初始化物理連接的SQL語句集合。這些語句只在配置的連接工廠創建連接時被執行一次。
 
Lifo
 true  
設置為true表明連接池(如果池中有可用的空閑連接時)將返回最后一次使用的租借對象(最后進入)。
設置為false則表明池將表現為FIFO隊列——將會按照它們被歸還的順序從空閑連接實例池中獲取連接
 
PoolPreparedStatements
 false  
設置該連接池的預處理語句池是否生效
 
MaxOpenPreparedStatements
 -1  
可以在語句池中同時分配的最大語句數。設置為負數則不限制
 
AccessToUnderlyingConnectionAllowed
 false  
控制PoolGuard是否可以訪問底層連接
 
RemoveAbandonedOnBorrow
 
 false  
//標記是否刪除超過removeAbandonedTimout所指定時間的被遺棄的連接。
//如果設置為true,則一個連接在超過removeAbandonedTimeout所設定的時間未使用即被認為是應該被拋棄并應該被移除的。
創建一個語句,預處理語句,可調用語句或使用它們其中的一個執行查詢(使用執行方法中的某一個)會重新設置其父連接的lastUsed 屬性。
//在寫操作較少的應用程序中將該參數設置為true可以將數據庫連接從連接關閉失敗中恢復。
 
 
RemoveAbandonedTimeout
 300
一個被拋棄連接可以被移除的超時時間,單位為秒
 
 
 
LogAbandoned
 false  
標志是否為應用程序中遺棄語句或連接的代碼開啟日志堆棧追蹤。
因為一個堆棧跟蹤已被創建,被拋棄的語句和連接相關的日志將被覆蓋到打開每個連接或者創建一個Statement時
 
       

文章列表


不含病毒。www.avast.com
全站熱搜
創作者介紹
創作者 大師兄 的頭像
大師兄

IT工程師數位筆記本

大師兄 發表在 痞客邦 留言(0) 人氣()