SQLRecoverableException: Closed Connection

我不是女神ヾ 2022-10-07 14:55 145阅读 0赞

目录

    • 问题描述
    • 解决过程

问题描述

事情是这样子的,公司线上oracle数据库因为等保评估突然设置了idle_time 。设置成10分钟了。

如果不设置idle_time,默认是 UNLIMITED,则连接始终不会被断开,这就占用了连接数资源。合理的设置idle_time,可以让连接发挥最大的效用。IDLE_TIME以分钟为单位,通过配置可以终止inactive 连接。

项目是用的SpringBoot1.5.9,数据源用的默认的tomcat数据源。

解决过程

由于添加了idle_time设置,并且项目当中的数据源并没有设置生存时间。所以就报错了。

在配置文件当中配置以下就解决了。

  1. spring.datasource.test-on-borrow=true
  2. spring.datasource.test-while-idle=true
  3. spring.datasource.max-idle=100
  4. spring.datasource.min-idle=10
  5. spring.datasource.max-wait=30000
  6. spring.datasource.max-active=300
  7. spring.datasource.initial-size=50
  8. #间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
  9. spring.datasource.time-between-eviction-runs-millis=60000
  10. #连接在池中最小生存的时间,单位是毫秒[time-between-eviction-runs-millis秒检查一次,超过如下时间会回收本连接
  11. spring.datasource.min-evictable-idle-time-millis=300000
  12. spring.datasource.validation-query=SELECT 1 FROM DUAL

发表评论

表情:
评论列表 (有 0 条评论,145人围观)

还没有评论,来说两句吧...

相关阅读