Springboot 連線池wait_timeout超時設定

FeelTouch發表於2018-05-27
使用springboot 執行緒池連線MySQL時,mysql資料庫wait_timeout 為8個小時,所以程式第二天發現報錯,在url配置了 autoReconnect=true 也不行,查詢配置以下

#驗證連線的有效性

spring.datasource.test-while-idle=true

#獲取連線時候驗證,會影響效能
spring.datasource.test-on-borrow=true


spring.datasource.validation-query=SELECT 1 FROM DUAL

#空閒連線回收的時間間隔,與test-while-idle一起使用,設定5分鐘
spring.datasource.time-between-eviction-runs-millis=300000

#連線池空閒連線的有效時間 ,設定30分鐘
spring.datasource.min-evictable-idle-time-millis=1800000

 ================  

SpringBoot配置屬性之DataSource  
https://segmentfault.com/a/1190000004316491


****************************************datasource*******************************************************8
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的屬性


*******************************JPA*****************************************************8888
spring.jpa.database指定目標資料庫.

spring.jpa.database-platform指定目標資料庫的型別.

spring.jpa.generate-ddl是否在啟動時初始化schema,預設為false

spring.jpa.hibernate.ddl-auto指定DDL mode (none, validate, update, create, create-drop). 當使用內嵌資料庫時,預設是create-drop,否則為none.

spring.jpa.hibernate.naming-strategy指定命名策略.

spring.jpa.open-in-view是否註冊OpenEntityManagerInViewInterceptor,繫結JPA EntityManager到請求執行緒中,預設為: true

spring.jpa.properties新增額外的屬性到JPA provider.

spring.jpa.show-sql是否開啟sql的log,預設為: false


*****************************************jooq**************************************
spring.jooq.sql-dialect指定JOOQ使用的SQLDialect,比如POSTGRES.


*************************************************h2*****************************************************
spring.h2.console.enabled是否開啟控制檯,預設為false

spring.h2.console.path指定控制檯路徑,預設為: /h2-console


***********************************************JTA************************************************************
spring.jta.allow-multiple-lrc是否允許 multiple LRC,預設為: false

spring.jta.asynchronous2-pc指定兩階段提交是否可以非同步,預設為: false

spring.jta.background-recovery-interval指定多少分鐘跑一次recovery process,預設為: 1

spring.jta.background-recovery-interval-seconds指定多久跑一次recovery process,預設: 60

spring.jta.current-node-only-recovery是否過濾掉其他非本JVM的recovery,預設為: true

spring.jta.debug-zero-resource-transaction是否追蹤沒有使用指定資源的事務,預設為: false

spring.jta.default-transaction-timeout設定預設的事務超時時間,預設為60

spring.jta.disable-jmx是否禁用jmx,預設為false

spring.jta.enabled是否開啟JTA support,預設為: true

spring.jta.exception-analyzer設定指定的異常分析類

spring.jta.filter-log-status使用Bitronix Transaction Manager時,是否寫mandatory logs,開啟的話,可以節省磁碟空間,但是除錯會複雜寫,預設為false

spring.jta.force-batching-enabled使用Bitronix Transaction Manager時,是否批量寫磁碟,預設為true.

spring.jta.forced-write-enabled使用Bitronix Transaction Manager時,是否強制寫日誌到磁碟,預設為true

spring.jta.graceful-shutdown-interval當使用Bitronix Transaction Manager,指定shutdown時等待事務結束的時間,超過則中斷,預設為60

spring.jta.jndi-transaction-synchronization-registry-name當使用Bitronix Transaction Manager時,在JNDI下得事務同步registry,預設為: java:comp/TransactionSynchronizationRegistry

spring.jta.jndi-user-transaction-name指定在JNDI使用Bitronix Transaction Manager的名稱,預設:java:comp/UserTransaction

spring.jta.journal當使用Bitronix Transaction Manager,指定The journal是否disk還是null還是一個類的全限定名,預設disk

spring.jta.log-dirTransaction logs directory.

spring.jta.log-part1-filename指定The journal fragment檔案1的名字,預設: btm1.tlog

spring.jta.log-part2-filename指定The journal fragment檔案2的名字,預設: btm2.tlog

spring.jta.max-log-size-in-mb指定journal fragments大小的最大值. 預設: 2M

spring.jta.resource-configuration-filename指定Bitronix Transaction Manager配置檔名.

spring.jta.server-id指定Bitronix Transaction Manager例項的id.

spring.jta.skip-corrupted-logs是否忽略corrupted log files檔案,預設為false.

spring.jta.transaction-manager-id指定Transaction manager的唯一標識.

spring.jta.warn-about-zero-resource-transaction當使用Bitronix Transaction Manager時,是否對沒有使用指定資源的事務進行警告,預設為: true

相關文章