注册

jdbc连接池无法并发,报错:DataSource is closed,请问怎么解决呀?

王健 2022/10/10 1017 4 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:win10
【CPU】:x86
【问题描述】*:jdbc连接池无法并发,在调用一次getconnection并释放资源后,再次调用时报错

代码如下:String sql = "SELECT SQL_CON from SQL_TABLE where SQL_ID = " + sql_id + “;”;
Map rs = DmsqlUtil.exeSqlSelect(sql);
System.out.println(“loading success”);
String sql2 = “SELECT SQL_CON FROM SQL_TABLE WHERE SQL_ID = ‘222’;”;
Map result = DmsqlUtil.exeSqlSelect(sql2);

报错信息如下:java.sql.SQLException: Data source is closed
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2087)
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1563)
at rbyl.it.fundsupvis.comm.DmsqlUtil.getConnection(DmsqlUtil.java:77)
at rbyl.it.fundsupvis.comm.DmsqlUtil.exeSqlSelect(DmsqlUtil.java:244)

建立连接池时使用的是basicDatasource,代码如下:
private static BasicDataSource ds;
ds = new BasicDataSource();
ds.setDriverClassName(driver);
ds.setUrl(uri);
ds.setUsername(username);
ds.setPassword(pwd);

完整报错信息截图:
16653890501.png

第一次调用数据库链接成功:
16653891801.png

回答 0
暂无回答
扫一扫
联系客服