0
我有一个问题,这些天困惑我。我在Oracle weblogc服务器中为我的REST API调用使用JDBC连接池。该软件包已部署并能够正确处理传入的请求。在oracle weblogic Server中使用JDBC池,
但不知何故,在创建新请求之后,在数据库会话级别,我将得到一个新的“INACTIVE”状态的会话行,即使我故意在代码中关闭了db连接。在我看来,这届会议将永远保持下去。最终它杀死了游泳池。
以下是我的代码示例,其中“apple”是我的连接池名称。
Connection connection = JDBCConnection.getJDBCConnction(apple);
Statement stmt = null;
String query ="select name from user";
String hosts="";
try {
stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
name = rs.getString("name");
}
} finally {
connection.close();
}
有什么额外的我需要做的?
感谢,
杰克
正常情况下有非活动会话。当你完成你的连接并关闭它时,它会回到游泳池但未关闭。实际上它是无效的,这就是为什么你看到不活动的状态。然而,关于你的代码,你应该关闭你的Statement和ResultSet,因为关闭池中的连接只是将它发送回池。 – Rouliboy
但是,由于它正在积累,那么我们期望它们被回收? – user3595231
你的意思是说你创建了比池大小更多的会话吗? – Rouliboy