Caused by: com.alibaba.druid.pool.DataSourceClosedException: dataSource already closed

摘要:
春季启动正常启动后,计划任务中的数据库查询报告错误。错误消息如下:1Causedby:org.apache。伊巴提斯。例外情况。PersistenceException:2###错误查询数据库。暂停:org.springframework。jdbc。无法获取JdbcConnection异常:无法获取JDBC连接;3estedexetinisom.alibaba.drud.pool(3个标准的传感器com.alibaba.draid.pool)。DataSourceClosedException:dataSourcealreadyclustaWedJun3017:31:57GMT+08:0020214###错误可能存在于URL[jar:file:/home/xxxx/xxxx-1.0.jar!

报错场景:spring boot+mybatis,线程池执行批量任务。springboot正常启动后,定时任务中数据库查询报错。报错信息如下:

Caused by: com.alibaba.druid.pool.DataSourceClosedException: dataSource already closed第1张Caused by: com.alibaba.druid.pool.DataSourceClosedException: dataSource already closed第2张
 1 Caused by: org.apache.ibatis.exceptions.PersistenceException: 
 2 ### Error querying database.  Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; 
 3 nested exception is com.alibaba.druid.pool.DataSourceClosedException: dataSource already closed at Wed Jun 30 17:31:57 GMT+08:00 2021
 4 ### The error may exist in URL [jar:file:/home/xxx/xxx/xxx-1.0.jar!/BOOT-INF/lib/common-1.0.jar!/mapper/basedata_mapper/xxxMapper.xml]
 5 ### The error may involve com.xxx.common.basedata.dao.xxxTaskDao.getListByCode
 6 ### The error occurred while executing a query
 7 ### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is com.alibaba.druid.pool.DataSourceClosedException: dataSource already closed at Wed Jun 30 17:31:57 GMT+08:00 2021
 8     at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
 9     at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150)
10     at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
11     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
12     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
13     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
14     at java.lang.reflect.Method.invoke(Method.java:498)
15     at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433)
16     ... 15 common frames omitted
报错信息

解决:

多线程批量处理的时候只需要在service方法上加上@transactional(rollbackFor = Exception.class)就行了,mybatis就不会每次执行完sql后closing sql session了
Sign up for free

参考:

https://github.com/alibaba/druid/issues/1625

免责声明:文章转载自《Caused by: com.alibaba.druid.pool.DataSourceClosedException: dataSource already closed》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇arcgispro 计算字段示例vSphere HA 原理与配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

微信分享回调

在我们的项目中,我曾经判断用户是否通过微信分享了文章或内容。在确认用户通过微信分享了文章或内容后,我向用户添加了相应的分数。...

【转】MUD教程--巫师入门教程4

在MUD中,为了解决定时触发某种现象,一般有两种方法,一种是通过call_out()延时呼叫,另一种就是通过心跳。于是,对于要跨起离线前后的象做牢这类的事,大多都是采用condition。附:由于大多数MUD里的心跳是每两秒调一次,5+random是5至14次,因此可以看出每一个condition被调用的时间是平均19秒。然后它会按照condition的名字...

微信小程序通过background-image设置背景图片

微信小程序通过背景图像设置背景:仅支持在线图像和base64图像,不支持本地图像;设置base64图像的步骤如下:1.在网站上http://imgbase64.duoshitong.com/将图片转换为base64格式2的文本。在WXSS中使用上述文本:background image:url(“data:image/png;base64,iVBORw0KG...

最新版Swagger 3升级指南和新功能体验!

因此,本期将为您带来一篇关于Swagger最新版本的文章。本文将向您展示Swagger最新版本的变化?如何将旧版本的Swagger升级到新版本?Swagger是一个用于生成、描述和调用RESTful接口的Web服务。Swagger 2.9.2的使用分为以下四个步骤:添加依赖项、启用Swagger功能、配置Swagger文档摘要信息和调用接口访问。让我们分别来...

开源BI分析工具Metabase配置与完全使用手册

文章目录简介安装初始配置数据分析简单查询创建场景创建集合和仪表盘自定义查询原生查询sql变量动态sql片段管理员操作添加数据库连接oracle成员管理邀请新成员权限配置数据权限文件夹权限邮箱配置定时任务简介Metabase是一个免费的BI分析工具,可以帮助你把数据库中的数据更好的呈现给更多人,通过建立一个”查询“来提炼数据,再以图形化的方式做展示。上手简单,...

海康、大华网络摄像机RTSP URL格式组成及参数配置

1.海康相机在IE浏览器中输入网络摄像头的IP地址,输入配置的用户名和密码,然后登录:视频:1。比特率类型:主流和子流,主流支持的分辨率相对较高;2.视频类型:如果需要音频和视频,则选择“复合流”;如果只需要视频,则选择“视频流”;3.分辨率设置不重复;4.码率类型:代码更改率!!!...