首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C3p0 - UnreturnedConnectionTimeout在被C3p0抛出时不会破坏流控制。

C3p0 - UnreturnedConnectionTimeout在被C3p0抛出时不会破坏流控制。
EN

Stack Overflow用户
提问于 2016-10-16 12:44:48
回答 1查看 999关注 0票数 0

假设我有以下代码:

代码语言:javascript
复制
try {
    //dao.querier behind the Scenes is using 
    //A Hibernate query with C3p0
    List<?> newItems = dao.querier(true);
} catch (Exception e) {
    e.printStackTrace();
} 

其中,对方法dao.querier的调用使用C3p0和Hibernate。使用属性unreturnedConnectionTimeout进行配置:

代码语言:javascript
复制
unreturnedConnectionTimeout=300

当我有一个没有返回到池的连接时,c3p0说-“java.lang.Exception:只调试:过期的资源签出堆栈跟踪”。

是我的代码片段中的catch块捕获的异常。通过调试我的应用程序,答案似乎是否定的。有什么办法能抓住这个例外吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-17 09:46:08

不,你不可能破例的。你所看到的“例外”从未被抛出。它由debugUnreturnedConnectionStackTraces生成,然后要求转储它的堆栈跟踪,以便向您显示泄漏连接的代码路径。

unreturnedConnectionTimeout存在于已泄漏的close()连接(并帮助您修复泄漏)。这些连接应该不再可以在任何堆栈中访问或在任何try/catch块中访问。如果将unreturnedConnectionTimeout设置为太小的值,以便在应用程序仍在使用连接时由于设置而关闭连接,则当应用程序试图在连接关闭后处理它们时,将看到普通的异常。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40070379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档