HikariPool-1 - Connection is not available, request timed out after 30000ms

HikariPool-1 - Connection is not available, request timed out after 30000ms

HikariPool是連線池管理類,負責管理資料庫連線。

HikariPool-1 - Connection is not available, request timed out after 30000ms

表示資料庫連線池請求超時

報錯日誌:

java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30000ms.

原因一 : 由於網路延遲或某些查詢執行時間過長(超過30000毫秒),因此資料庫未在(30000毫秒,這是預設的connectionTimeout屬性)內未獲得連線。

可以試看看增加Timeout的時間

YML配置示例:

spring:
	datasource:
		hikari:
		#最小連線數
		minimumIdle: 2
		#最大連線數
		maximumPoolSize: 10
		idleTimeout: 120000
		connectionTimeout: 300000
		leakDetectionThreshold: 300000

Java Config示例:

HikariConfig config = new HikariConfig();

config.setMaximumPoolSize(20);

config.setConnectionTimeout(300000);

config.setConnectionTimeout(120000);

config.setLeakDetectionThreshold(300000);

參考

java - HikariPool-1 - Connection is not available, request timed out after 30000ms for very tiny load server - Stack Overflow

JavaWeb問題集錦: 資料庫連線池請求超時 HikariPool-1 - Connection is not available, request timed out after 30000ms - IT閱讀 (itread01.com)