日期:2014-05-17  浏览次数:20782 次

在Tomcat里建了个和Oracle数据库的连接,数据库session数过几天就到最大值了?
建立连接的代码如下,连接用过后都关闭了,怎么用select count(*) from v$process;查的时候,连接数每天都往上涨?今天到达最大连接数1000后,把tomcat停了,连接数马上降到200多。


ConnectionProvider cp = ActiveRecordBase.getConnectionProvider(ActiveRecordBase.class);
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;

                try {
conn = cp.getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
                                while (rs.next()) {
                                }
                                                                         rs.close();
stmt.close();
conn.close();
                        catch{
                        }


------解决方案--------------------
你代码上这样的关闭连接是有隐患的。如果你sql执行时报异常了,那么你下面的close都不会执行了。
所以你得把关闭连接这块都放在finally中执行。
------解决方案--------------------
引用:
你代码上这样的关闭连接是有隐患的。如果你sql执行时报异常了,那么你下面的close都不会执行了。
所以你得把关闭连接这块都放在finally中执行。
+1