Springboot項目長時間不進行接口操作,提示HikariPool-1警告的解決
問題描述
Spring boot項目長時間未進行操作,前端進行調(diào)用接口時第一次會報警報,并且接口訪問時間過長而導致第一次調(diào)用接口失敗
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@286d93a8] was not registered for synchronization because synchronization is not active
2020-12-01 11:27:56.356 WARN 8392 --- [nio-9099-exec-7] com.zaxxer.hikari.pool.PoolBase : HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@17b7bbbb (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
2020-12-01 11:28:01.359 WARN 8392 --- [nio-9099-exec-7] com.zaxxer.hikari.pool.PoolBase : HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@43a8ad76 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
2020-12-01 11:28:06.362 WARN 8392 --- [nio-9099-exec-7] com.zaxxer.hikari.pool.PoolBase : HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@11ef23d4 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
2020-12-01 11:28:11.366 WARN 8392 --- [nio-9099-exec-7] com.zaxxer.hikari.pool.PoolBase : HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@4cb8a9c2 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
2020-12-01 11:28:16.373 WARN 8392 --- [nio-9099-exec-7] com.zaxxer.hikari.pool.PoolBase : HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@22641536 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
2020-12-01 11:28:21.375 WARN 8392 --- [nio-9099-exec-7] com.zaxxer.hikari.pool.PoolBase : HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@3946dfc7 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
解決方法
我們查看數(shù)據(jù)庫的HikariPool源碼
找到HikariDataSource類,他繼承了HikariConfig
我們看Hikar的相關配置,進入HikarConfig中,在這里我們可以看到默認池大小為10,我們在數(shù)據(jù)庫配置中修改默認池大小即可解決問題
配置文件中加入
- minimum-idle最小空閑數(shù)
- maximum-pool-size鏈接池最大數(shù)量
- max-lifetime最大時長,配置為0則是永久不過期
hikari: minimum-idle: 3 maximum-pool-size: 5 max-lifetime: 0
修改過配置文件后即可解決問題
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
MyBatis新增數(shù)據(jù)時自增id的兩種寫法小結
本文介紹了在MyBatis中配置自增ID的兩種方法:一種是通過在Mapper文件中設置useGeneratedKeys和keyProperty,另一種是使用selectKey標簽,批量插入時,同樣采用useGeneratedKeys標簽,感興趣的可以了解一下2024-09-09spring boot實戰(zhàn)之內(nèi)嵌容器tomcat配置
本篇文章主要介紹了Spring Boot 使用內(nèi)嵌的tomcat容器配置,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01詳解Spring數(shù)據(jù)緩存注解@Cacheable、@CachePut、@CacheEvict
這篇文章主要介紹了詳解Spring數(shù)據(jù)緩存注解@Cacheable、CachePut、@CacheEvict,當以一組參數(shù)第一次調(diào)用某個方法時,返回值會被保存在緩存中,如果這個方法再次以相同的參數(shù)進行調(diào)用時,這個返回值會從緩存中查詢獲取,需要的朋友可以參考下2023-07-07