hikaripool-0-連接不可用,請求在30000ms之后超時。意思是池等待30000ms的免費連接,但是您的應用程序沒有返回任何連接。
原因一:
連接泄漏(在從池中借用之后連接沒有關閉)。
解決方法:
hikariDataSource.setIdleTimeout(60000); hikariDataSource.setConnectionTimeout(60000); hikariDataSource.setValidationTimeout(3000); hikariDataSource.setLoginTimeout(5); hikariDataSource.setMaxLifetime(60000);
原因二:
這個問題可能與HikariCP無關。這個問題之所以持續存在,是因為REST控制器中的一些復雜的方法通過JPA存儲庫執行了DB中的多個更改。
由於某些原因,對這些接口的調用導致了越來越多的“空閑”活動連接,耗盡了池。將這些方法注釋為@事務性或將所有邏輯封裝到事務服務方法中,似乎都能解決這個問題。
或者
連接不夠用,加大連接池的最大連接數;
