【发布时间】:2015-11-16 07:49:46
【问题描述】:
在 Glassfish4 和 Ubuntu 14.04 上部署后我面临的一个严重问题。在java中,由于某些原因,我没有使用hibernate。作为查询的结果,我手动获取结果集,将结果集发送到 JSP 页面并对其进行迭代。
问题是,我将 finally 块设置如下:
finally {
try {
if (conn != null) {
conn.close();
}
if (ctx != null) {
ctx.close();
}
if (cstatement != null) {
cstatement.closeOnCompletion();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
因为我通过会话将结果集发送到 JSP 页面,所以我正在关闭 JSP 页面上的结果,如下所示:
if(resultset!=null) resultset.close();
现在,问题是,几分钟后我的应用程序开始发出异常,表明已使用最大连接池。
我应该怎么做才能避免异常?
【问题讨论】:
-
你不应该以相反的顺序关闭资源吗?
标签: java ubuntu jdbc glassfish connection-pooling