今天使用springboot遇到了这样的问题:
springboot项目启动开始可以访问数据库,但是几分钟之后就会报错

idea报错信息:

HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl@18e7d21c (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.

这玩意啥意思呢,意思就是当你用springboot连接数据库的时候,会建立一个和数据库的连接,这个连接保存在数据库连接池中,现在你的这个连接已经time out已经不能用了,但是你的这个连接还是保存在数据库连接池中,springboot仍然使用这个连接去连接数据库,所以才会报错。

那么知道了原因,我们怎么解决这个问题呢,首先要知道我们可以设置连接在连接池中的存活时间,什么是连接的存活时间呢,简而言之就是你这个连接要保存在连接池中多长时间才被清除,如果你连接时间设置是五分钟,那么这个连接在三分钟的时候timeout了还是得再等两分钟才能被清除。

那么问题就很明了,你的连接在三分钟的时候就已经和数据库断开了连接,但是你默认连接的存活时间是五分钟,所以导致你的springboot项目开始能访问数据库,一会之后就不能访问数据库了

解决方案

那么这样,假设说连接在三分钟的时候和数据库断开了连接,我们设置连接的存活时间是两分钟,连接就一直处于可用状态,当两分钟之后你再次访问数据库,就会new一个连接,这个连接在其生命周期内仍然是可用的。

大白话就是:
在application.propertiesapplication.propertiesapplication.properties中设置连接生命周期:

spring.datasource.hikari.max-lifetime=120000

如果还是不行你还可以设置的更小:60000
但是不能小于30000,这是默认的最小值,你想想如果你设置一个连接的生命周期是1000,也就是一秒,那么你基本每次访问数据库都要new一个连接,这样太耗费资源了。

HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc....Possibly consider using a shorter相关推荐

  1. Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl问题排查

    整个问题排查过程中基本把Hikari连接池源码看完了,也发现了Hikari内部的一些实现细节,更多细节参见:Hikari 数据库连接池内部源码实现细节 问题描述及排查 最近发布项目测试环境后,发现后台 ...

  2. SpringBoot2 hikari 关于 Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl处理

    问题很诡异,启动不报错,如果静默15分钟没有数据库操作就报上述错误 Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl 分析是 ...

  3. MySQL报错 Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl

    报错:springboot 项目向 MySQL 请求SqlSession时报错 Creating a new SqlSession SqlSession [org.apache.ibatis.sess ...

  4. SpringBoot2使用hikari报 Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl

    SpringBoot2配置文件有变化,需要更改配置 #datasource spring.datasource.driver-class-name=com.mysql.jdbc.Driver spri ...

  5. HikariCP不断打印WARN日志Failed to validate connection com.mysql.jdbc.JDBC4Connection@xxxxx (...) Possibly

    https://www.cnblogs.com/xiongth/p/14093529.html

  6. Failed to validate connection

    问题: 019-12-03 17:40:42.314  WARN 15940 --- [nio-9008-exec-5] com.zaxxer.hikari.pool.PoolBase         ...

  7. 【mysql】HikariCP不断打印WARN日志Failed to validate connection JDBC4Connectio Possibly consider using a shor

    1.概述 转载:HikariCP不断打印WARN日志Failed to validate connection JDBC4Connectio Possibly consider using a sho ...

  8. 数据库连接失败报错com.mysql.cj.jdbc.exceptions.CommunicationsException

    1.问题: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The last pac ...

  9. Procedure execution failed 2013 - Lost connection to MySQL server during query

    1 错误描写叙述 Procedure execution failed 2013 - Lost connection to MySQL server during query 2 错误原因 由错误描写 ...

最新文章

  1. Python零基础自学会有哪些弊端
  2. java 冒泡排序_Java冒泡排序详解
  3. Sharepoint 2007 用代码聚合所有子网站文章 (populating data sources in code)
  4. 面试高频问题:HashMap实现原理
  5. TLV5618 双路12位DAC 模拟SPI驱动
  6. pycharm shortcuts
  7. WPF datagrid 加入图片
  8. 解决Python中设置与获取cookie时出现的中文编码问题。
  9. SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEM...
  10. 计算机英语写作题范文,2018年6月英语四级考试写作范文:人与电脑
  11. JS Base64加密解密
  12. PDF的页面方向倒了,怎么调整并保存
  13. 【目录】博客目录 | 先点这里
  14. 微信小程序请求wx.request报400(Bad Request)解决
  15. 小米 MIX4 发布、三年要拿下全球第一、还有一只 9999 元的狗?快看 3 个小时雷军都讲了什么!...
  16. Android面试题及答案
  17. cadence——基本操作1
  18. HTTP 协议中 Vary
  19. excel 求去掉最高分最低分后的平均值
  20. 【Tracker】KCF跟踪方法百度翻译

热门文章

  1. python 批量下载财务数据_Python+Wind 批量下载上市公司年报 - Part 1/2
  2. lansee无法双击进去计算机,局域网搜索LanSee工具,网管员神器
  3. 神经网络与深度学习(一)——机器学习基础
  4. 笔记之 02_传智播客AJAX视频教程_使用IntelliJ开发Web项目
  5. 仿网易云音乐html代码,仿网易云音乐外链播放器UI的HTML5音乐播放器插件
  6. Luogu P3346 [ZJOI2015]诸神眷顾的幻想乡 广义SAM 后缀自动机
  7. Spark读HBASE - shc方案
  8. 通俗理解大数据及其应用价值
  9. Firefox 的用户脚本管理器 greasemonkey 的使用一例
  10. 邮箱日期IP地址信用卡验证(正则表达式)