出错的是蓝点处
Tomcat数据源的配置都没有问题,执行
auction = AuctionDaoFactory.getAuctionDaoInstance().findById(auid);
时是没有问题的,不会抛出java.sql.exception :connection is closed异常
findById方法的代码
但在之后执行
AuctionDaoFactory.getAuctionDaoInstance().doUpdate(auid, "hit", auction.getHit()+1);
就会抛出异常.经过测试后找到了原因,是因为this.dbc.close()这里的原因,只要把findById 里的this.dbc.close()删了,就不会抛出异常,就是不关闭数据库连接就不会抛出异常。
下面是DAO的代码
这是AuctionDaoProxy类的
这是AuctionDaoImpl类的
dbc是数据库连接类的实例
数据库连接类的代码使用的是tomcat 数据源
我想知道使用this.dbc.close()后关闭的是整个数据库连接池还是只是释放数据库连接对象,如果只是释放数据库连接对象,为什么释放后会抛出异常?