关于druid:druid回收连接导致statement-is-closed

相干常识:druid强制回收机制

代码剖析:为什么连贯回收会抛出这个异样

首先查看DruidPooledConnection 这个类的close 办法

syncClose 最终也会调用 recycle() 

 所以咱们次要看

实现类 DruidDataSource 

能够看到,相干的statement都会被敞开而Druid 应用的DruidPooledPreparedStatement 的 colse  如下

DruidPooledConnection 的实现类如下:

stmt.closeInternal() 最终调用了这个函数,并设置了 closed 

而 closed 就是抛出 SQLException: statement is closed 的最大首恶

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理