springBoot資料庫連線池常用配置
在配置檔案中新增配置如下(我使用的是多資料來源):
spring.datasource.primary.url=jdbc\:mysql\://localhost\:3306/test?useUnicode\=true&characterEncoding\=utf-8
spring.datasource.primary.username=test
spring.datasource.primary.password=123456
spring.datasource.primary.driver-class-name=com.mysql.jdbc.Driver
#驗證連線的有效性
spring.datasource.primary.test-while-idle=true
#獲取連線時候驗證,會影響效能
spring.datasource.primary.test-on-borrow=false
#在連線歸還到連線池時是否測試該連線
spring.datasource.primary.test-on-return=false
spring.datasource.primary.validation-query=SELECT 1 FROM DUAL
#空閒連接回收的時間間隔,與test-while-idle一起使用,設定5分鐘
spring.datasource.primary.time-between-eviction-runs-millis=300000
#連線池空閒連線的有效時間 ,設定30分鐘
spring.datasource.primary.min-evictable-idle-time-millis=1800000
spring.datasource.primary.initial-size=5
#指定連線池中最大的活躍連線數.
spring.datasource.primary.max-active=50
#指定連線池等待連線返回的最大等待時間,毫秒單位.
spring.datasource.primary.max-wait=60000
#指定必須保持連線的最小值
spring.datasource.primary.min-idle=5
spring.datasource.secondary.url=jdbc\:mysql\://localhost\:3306/test2?useUnicode\=true&characterEncoding\=utf-8
spring.datasource.secondary.username=test
spring.datasource.secondary.password=123456
spring.datasource.secondary.driver-class-name=com.mysql.jdbc.Driver
#驗證連線的有效性
spring.datasource.secondary.test-while-idle=true
#獲取連線時候驗證,會影響效能
spring.datasource.secondary.test-on-borrow=false
#在連線歸還到連線池時是否測試該連線
spring.datasource.secondary.test-on-return=false
spring.datasource.secondary.validation-query=SELECT 1 FROM DUAL
#空閒連接回收的時間間隔,與test-while-idle一起使用,設定5分鐘
spring.datasource.secondary.time-between-eviction-runs-millis=300000
#連線池空閒連線的有效時間 ,設定30分鐘
spring.datasource.secondary.min-evictable-idle-time-millis=1800000
spring.datasource.secondary.initial-size=5
#指定連線池中最大的活躍連線數.
spring.datasource.secondary.max-active=50
#指定連線池等待連線返回的最大等待時間,毫秒單位.
spring.datasource.secondary.max-wait=60000
#指定必須保持連線的最小值
spring.datasource.secondary.min-idle=5
datasource
-
spring.dao.exceptiontranslation.enabled是否開啟PersistenceExceptionTranslationPostProcessor,預設為true
-
spring.datasource.abandon-when-percentage-full設定超時被廢棄的連線佔到多少比例時要被關閉或上報
-
spring.datasource.allow-pool-suspension使用Hikari pool時,是否允許連線池暫停,預設為: false
-
spring.datasource.alternate-username-allowed是否允許替代的使用者名稱.
-
spring.datasource.auto-commit指定updates是否自動提交.
-
spring.datasource.catalog指定預設的catalog.
-
spring.datasource.commit-on-return設定當連線被歸還時,是否要提交所有還未完成的事務
-
spring.datasource.connection-init-sql指定連線被建立,再被新增到連線池之前執行的sql.
-
spring.datasource.connection-init-sqls使用DBCP connection pool時,指定初始化時要執行的sql
-
spring.datasource.connection-properties.[key]在使用DBCP connection pool時指定要配置的屬性
-
spring.datasource.connection-test-query指定校驗連接合法性執行的sql語句
-
spring.datasource.connection-timeout指定連線的超時時間,毫秒單位.
-
spring.datasource.continue-on-error在初始化資料庫時,遇到錯誤是否繼續,預設false
-
spring.datasource.data指定Data (DML)指令碼
-
spring.datasource.data-source-class-name指定資料來源的全限定名.
-
spring.datasource.data-source-jndi指定jndi的地址
-
spring.datasource.data-source-properties.[key]使用Hikari connection pool時,指定要設定的屬性
-
spring.datasource.db-properties使用Tomcat connection pool,指定要設定的屬性
-
spring.datasource.default-auto-commit是否自動提交.
-
spring.datasource.default-catalog指定連線預設的catalog.
-
spring.datasource.default-read-only是否設定預設連線只讀.
-
spring.datasource.default-transaction-isolation指定連線的事務的預設隔離級別.
-
spring.datasource.driver-class-name指定driver的類名,預設從jdbc url中自動探測.
-
spring.datasource.fair-queue是否採用FIFO返回連線.
-
spring.datasource.health-check-properties.[key]使用Hikari connection pool時,在心跳檢查時傳遞的屬性
-
spring.datasource.idle-timeout指定連線多久沒被使用時,被設定為空閒,預設為10ms
-
spring.datasource.ignore-exception-on-pre-load當初始化連線池時,是否忽略異常.
-
spring.datasource.init-sql當連線建立時,執行的sql
-
spring.datasource.initial-size指定啟動連線池時,初始建立的連線數量
-
spring.datasource.initialization-fail-fast當建立連線池時,沒法建立指定最小連線數量是否拋異常
-
spring.datasource.initialize指定初始化資料來源,是否用data.sql來初始化,預設: true
-
spring.datasource.isolate-internal-queries指定內部查詢是否要被隔離,預設為false
-
spring.datasource.jdbc-interceptors使用Tomcat connection pool時,指定jdbc攔截器,分號分隔
-
spring.datasource.jdbc-url指定JDBC URL.
-
spring.datasource.jmx-enabled是否開啟JMX,預設為: false
-
spring.datasource.jndi-name指定jndi的名稱.
-
spring.datasource.leak-detection-threshold使用Hikari connection pool時,多少毫秒檢測一次連線洩露.
-
spring.datasource.log-abandoned使用DBCP connection pool,是否追蹤廢棄statement或連線,預設為: false
-
spring.datasource.log-validation-errors當使用Tomcat connection pool是否列印校驗錯誤.
-
spring.datasource.login-timeout指定連線資料庫的超時時間.
-
spring.datasource.max-active指定連線池中最大的活躍連線數.
-
spring.datasource.max-age指定連線池中連線的最大年齡
-
spring.datasource.max-idle指定連線池最大的空閒連線數量.
-
spring.datasource.max-lifetime指定連線池中連線的最大生存時間,毫秒單位.
-
spring.datasource.max-open-prepared-statements指定最大的開啟的prepared statements數量.
-
spring.datasource.max-wait指定連線池等待連線返回的最大等待時間,毫秒單位.
-
spring.datasource.maximum-pool-size指定連線池最大的連線數,包括使用中的和空閒的連線.
-
spring.datasource.min-evictable-idle-time-millis指定一個空閒連線最少空閒多久後可被清除.
-
spring.datasource.min-idle指定必須保持連線的最小值(For DBCP and Tomcat connection pools)
-
spring.datasource.minimum-idle指定連線維護的最小空閒連線數,當使用HikariCP時指定.
-
spring.datasource.name指定資料來源名.
-
spring.datasource.num-tests-per-eviction-run指定執行每個idle object evictor執行緒時的物件數量
-
spring.datasource.password指定資料庫密碼.
-
spring.datasource.platform指定schema要使用的Platform(schema-${platform}.sql),預設為: all
-
spring.datasource.pool-name指定連線池名字.
-
spring.datasource.pool-prepared-statements指定是否池化statements.
-
spring.datasource.propagate-interrupt-state在等待連線時,如果執行緒被中斷,是否傳播中斷狀態.
-
spring.datasource.read-only當使用Hikari connection pool時,是否標記資料來源只讀
-
spring.datasource.register-mbeans指定Hikari connection pool是否註冊JMX MBeans.
-
spring.datasource.remove-abandoned指定當連線超過廢棄超時時間時,是否立刻刪除該連線.
-
spring.datasource.remove-abandoned-timeout指定連線應該被廢棄的時間.
-
spring.datasource.rollback-on-return在歸還連線時,是否回滾等待中的事務.
-
spring.datasource.schema指定Schema (DDL)指令碼.
-
spring.datasource.separator指定初始化指令碼的語句分隔符,預設: ;
-
spring.datasource.sql-script-encoding指定SQL scripts編碼.
-
spring.datasource.suspect-timeout指定列印廢棄連線前的超時時間.
-
spring.datasource.test-on-borrow當從連線池借用連線時,是否測試該連線.
-
spring.datasource.test-on-connect建立時,是否測試連線
-
spring.datasource.test-on-return在連線歸還到連線池時是否測試該連線.
-
spring.datasource.test-while-idle當連線空閒時,是否執行連線測試.
-
spring.datasource.time-between-eviction-runs-millis指定空閒連線檢查、廢棄連線清理、空閒連線池大小調整之間的操作時間間隔
-
spring.datasource.transaction-isolation指定事務隔離級別,使用Hikari connection pool時指定
-
spring.datasource.url指定JDBC URL.
-
spring.datasource.use-disposable-connection-facade是否對連線進行包裝,防止連線關閉之後被使用.
-
spring.datasource.use-equals比較方法名時是否使用String.equals()替換==.
-
spring.datasource.use-lock是否對連線操作加鎖
-
spring.datasource.username指定資料庫名.
-
spring.datasource.validation-interval指定多少ms執行一次連線校驗.
-
spring.datasource.validation-query指定獲取連線時連線校驗的sql查詢語句.
-
spring.datasource.validation-query-timeout指定連線校驗查詢的超時時間.
-
spring.datasource.validation-timeout設定連線校驗的超時時間,當使用Hikari connection pool時指定
-
spring.datasource.validator-class-name用來測試查詢的validator全限定名.
-
spring.datasource.xa.data-source-class-name指定資料來源的全限定名.
-
spring.datasource.xa.properties指定傳遞給XA data source的屬性