以下代码,当我关闭Connection之后session 还存在,请问什么原因?public class CursorQueryRunner { private Connection con;
private ResultSet rs; ...
...
一系列处理... public void close() throws SQLException {
if (rs != null) {
rs.close();
}
if (!autoClose) {
return;
}
// 查看存在的session个数 (这时为1)
int i = TransactionController.getOpenSessionCount();
if (con != null && !con.isClosed()) {
con.close();
}
// 关闭之后再次查看存在的session个数 (这时还是为1)
int y = TransactionController.getOpenSessionCount();
}
} 请各位指点到底是什么原因,应该怎么改??
解决马上给分!! 急急!!!!
public class TransactionController implements TransactionControllerIF { //
private Connection con;
//
private static int openCount = 0; ... // 比如有连接connection的处理就累加
openCount++;
...
public static int getOpenSessionCount() {
return openCount;
}}
只看到了count++ ,没有看到count--之类的。
但是我不确定有没有调用了那里,,我再查一下,
一定要清空吗?
我在增加了以下代码,
public class TransactionController implements TransactionControllerIF {
... // Add
public static int removeOpenSessionCount() {
openCount--;
return openCount;
} ...}经过测试session值变回了0;但是疑问, 改动之前,当我关闭Connection 既执行 con.close();之后,
session count数为1,
这只是count数没有进行减算,发生的问题吗?实际 con.close(); 的话session还会存在吗??
关闭了connection,session还在。只不过不可用了。。