Springboot默認數據庫連接池及常用屬性
阿新 • • 發佈:2018-09-28
fault sql null 設置 狀態 缺省 只讀 drive jdb
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 |
Springboot默認數據庫連接池及常用屬性