SQLRecoverableException: Closed Connection

问题描述

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

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

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

解决过程

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

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

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

Guess you like

Origin blog.csdn.net/weixin_43888891/article/details/118031174