Could not open JDBC Connection for transaction; nested exception is com.alibaba.druid.pool.DataSourc

编程入门 行业动态 更新时间:2024-10-08 06:17:45

Could not open JDBC Connection for <a href=https://www.elefans.com/category/jswz/34/1770405.html style=transaction; nested exception is com.alibaba.druid.pool.DataSourc"/>

Could not open JDBC Connection for transaction; nested exception is com.alibaba.druid.pool.DataSourc

现象:程序已启动得时候会 正常得跑一会儿,过不了一小会儿,就会出现这个错误(测试环境才会出现)

 

出现这个错误得原因:

1、出现在测试环境下使用 多线程,   多线程处理得逻辑中有   使用连接池连接数据库得操作(或者查询,插入等等)

2、因为主线程中运行一会儿,走完之后就会关闭数据库连接池,而多线程中得程序还在跑着

 

解决办法:

1:不在测试环境下运行,改为正常得controler调用service或者dao,这样调用,因为主程序是服务的形式启动,所以连接池不会关闭(服务不关闭,连接池就不会关闭)

2:在让主线程等待这个线程运行完了之后再结束
就是将多线程得处理逻辑,在一个新得线程中操作,

Thread aa=new Thread(new Runnable(){

@Override
public void run() {在这里处理线程池处理程序
}

})

aa.join();

具体就是在主线程中加入

线程aa.join();

更多推荐

Could not open JDBC Connection for transaction; nested exception is com.alibaba.

本文发布于:2024-03-11 21:24:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1729928.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:transaction   nested   Connection   open   JDBC

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!