1. 程式人生 > >Springboot預設資料庫連線池及常用屬性

Springboot預設資料庫連線池及常用屬性

Springboot預設資料庫連線池為 Tomcat JDBC Pool ,常用的屬性見下表:

屬性 描述 預設值
defaultAutoCommit 連線池中建立的連線預設是否自動提交事務 驅動的預設值
defaultReadOnly 連線池中建立的連線預設是否為只讀狀態 -
defaultCatalog 連線池中建立的連線預設的 catalog -
driverClassName 驅動類的名稱 -
username 資料庫賬戶 -
password 資料庫密碼 -
maxActive 連線池同一時間可分配的最大活躍連線數 100
maxIdle 始終保留在池中的最大連線數,如果啟用,將定期檢查限制連線,超出此屬性設定的值且空閒時間超過minEvictableIdleTimeMillis的連線則釋放 與maxActive設定的值相同
minIdle 始終保留在池中的最小連線數,池中的連線數量若低於此值則建立新的連線,如果連線驗證失敗將縮小至此值 與initialSize設定的值相同
initialSize 連線池啟動時建立的初始連線數量 10
maxWait 最大等待時間(毫秒),如果在沒有連線可用的情況下等待超過此時間,則丟擲異常 30000(30秒)
testOnBorrow 當從連線池中取出一個連線時是否進行驗證,若驗證失敗則從池中刪除該連線並嘗試取出另一個連線 false
testOnConnect 當一個連線首次被建立時是否進行驗證,若驗證失敗則丟擲 SQLException 異常 false
testOnReturn 當一個連線使用完歸還到連線池時是否進行驗證 false
testWhileIdle 對池中空閒的連線是否進行驗證,驗證失敗則回收此連線 false
validationQuery 在連線池返回連線給呼叫者前用來對連線進行驗證的查詢 SQL null
validationQueryTimeout SQL 查詢驗證超時時間(秒),小於或等於 0 的數值表示禁用 -1
timeBetweenEvictionRunsMillis 在空閒連接回收器執行緒執行期間休眠時間(毫秒), 該值不應該小於 1 秒,它決定執行緒多久驗證空閒連線或丟棄連線的頻率 5000(5秒)
minEvictableIdleTimeMillis 連線在池中保持空閒而不被回收的最小時間(毫秒) 60000(60秒)
removeAbandoned 標記是否刪除洩露的連線,如果連線超出removeAbandonedTimeout的限制,且該屬性設定為 true,則連線被認為是被洩露並且可以被刪除 false
removeAbandonedTimeout 洩露的連線可以被刪除的超時時間(秒),該值應設定為應用程式查詢可能執行的最長時間 60