因为项目的需要在系统中配置了双数据源。但是在项目运行过程中,系统日志出现了No operations allowed after connection closed的错误。新版本8小时没使用的数据源会出现jdbc连接池不可用的错误,都可使用以下配置解决

注:项目使用mybatis,数据库使用MySQL和Oracle双数据源 错误原因是在更改了双数据源后,重写了datasource的config文件,application.yml只是简单配置了数据库地址和用户密码以及driver-class-name。

由于之前单数据源时并没有这个错误,所以可能是springboot默认的配置被重写的config文件所覆盖了,导致对数据库链接的操作无法执行。 在配置文件中添加如下即可。

max-idle: 10 #指定连接池最大的空闲连接数量.
max-wait: 10000 #指定连接池等待连接返回的最大等待时间,毫秒单位.
min-idle: 5 #指定必须保持连接的最小值(For DBCP and Tomcat connection pools)
initial-size: 5 #指定启动连接池时,初始建立的连接数量
validation-query: SELECT 1 #指定获取连接时连接校验的sql查询语句.
test-on-borrow: false #获取连接时候验证,会影响性能
test-while-idle: true #当连接空闲时,是否执行连接测试.
time-between-eviction-runs-millis: 18800 #指定空闲连接检查、废弃连接清理、空闲连接池大小调整之间的操作时间间隔

参考文章:https://blog.csdn.net/weixin_42556399/article/details/84191677