Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection问题可能性
标签: org.springframework.jdbc.CannotGetJ 单元测试
Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection问题可能性
报错信息:
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException:
Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.DataSourceClosedException: dataSource already closed at Mon May 11 17:15:36 CST 2020
### The error may exist in com/juzi/cap/dao/OrderDao.java (best guess)
### The error may involve com.juzi.cap.dao.OrderDao.getByOrderId
### The error occurred while executing a query
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection;
nested exception is com.alibaba.druid.pool.DataSourceClosedException: dataSource already closed at Mon May 11 17:15:36 CST 2020
原因分析
这个异常是因为主线程的数据源已经被关闭了,而子线程无法连接数据库造成的。
这个只有在“”单元测试”的时候才会出现(主线程把任务丢给线程池之后自己就直接执行完毕导致关闭了数据源),如果是生产环境主线程是不会关闭的,所以这个问题不会出现。
解决方法:
如果是单元测试可进行线程睡眠,让主线程等待线程池的线程执行完再执行
如代码:

问题所在

智能推荐
TCP连接常见问题
TCP常见状态 LISTEN: 侦听来自远方的TCP端口的连接请求 SYN-SENT: 再发送连接请求后等待匹配的连接请求 SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认 ESTABLISHED: 代表一个打开的连接 FIN-WAIT-1: 等待远程TCP连接中断请求,或先前的连接中断请求的确认 FIN-WAIT-2: 从远程TCP等待连接中断请求 CLOSE-WAI...
centos7开启开机自动联网
将onboot选项的no改为yes 这个文件也可以将pc从dhcp修改为静态 ip配置 需要修改BOOTPROTO=dhcp为static,然后文件最后添加IP,GATEWAY,MASK,DNS...
R 基础知识:数据结构(data.frame & matrix & array)
1.data.frame data.frame是R语言用来处理表格式数据的数据结构。我们可以运用data.frame()函数手动创造数据框,让我们建立一个很简单的数据框叫做greatnbateams,这个数据框有队名、胜场数、败场数、是否获得总冠军与球季。 我们使用观测值(observations)来称呼数据框中水平方向的数据,使用变数(variables)来称呼数据框中垂直方向的数据;数据框能够...
mysql高级-视图
视图定义:是由查询结果形成的一张虚拟表,是表通过某种运算得到的一个投影。 同一张表可以创建多个视图。 创建视图的语法: create view viewName as select语句 查询视图:和表一样,可以添加where条件。 修改视图:alter view viewName as select * from… 删除视图:drop view viewName. 查看视图结构:和表...
【cocos creater】9.仿《弓箭传说》- 子弹的碰撞
查看项目所有章节 接着上一章,编辑bullet.ts脚本文件,添加碰撞函数,此方法在元素发生碰撞时会调用 同时,编辑bullet精灵属性,添加碰撞组件 碰撞组件有三个,一个是矩形,一个是圆形,一个是自定义。这里我们任选一个都可以 分别给bullet,role,enemy三个元素都添加上碰撞组件 再打开enemy属性,选择group,点击编辑按钮,打开分组管理 分别添加role组,enemy组,bu...
猜你喜欢
HTML P不能包含块级元素(包括自身)(转)
abcc项目中碰到的,在一个表单中用P包含一个label和div,从Firebug中看html结构div却跑到P外面去了。甚是诧异,原来P元素是不能包含块级元素(包括P自身)的。 The P element represents a paragraph. It cannot contain block-level elements (including&nb...
centos mysql5.7 安装及初始化配置
1、配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ 2、安装MySQL 3、启动MySQL服务 4、配置MySQL 5、部分贴图...
【经验总结】电脑休眠后虚拟网卡地址变成169.254网段的解决方法
0x00 前言 一直以来会遇到一个问题,就是电脑在休眠后再次打开电脑,在使用虚拟机时网络老是会碰到问题,此时如果查看物理机上虚拟网卡的地址就会发现 IP 地址变成了 169.254.xxx.xxx 。 之所以会出现这个问题是因为 Windows 在网络不通的情况下,会自动配置一个169.254.xxx.xxx这个地址段的IP地址。 0x01 常规解决方法 在控制面板 -> 网络和 Inter...
汇总我在IDEA中使用Maven导包遇到的问题
看吐了吗?我是真吐了 真正遇到这些问题的朋友看到这,是不是有种找到知音的感觉,别怕,你不是在一个人战斗,苦逼的日子里,还有个我陪你一起苦逼,吐了吐了,这问题不知道耗费了我多久的时间,百度好多也解决不了,找身边的大佬帮忙也解决不了,我...
Easyui 1.8.6 日期控件(datebox或datetimebox)单击显示日期选择(日历)
修改jquery.easyui.min.js文件 通过Ctrl + f 输入 tb._size(opts 进行定位 在其下方添加如下代码: 注意: _588、_58d、_58f 这三个需要根据自己的进行修改。 版本不同可能有很大的区别!!!...
