从servlet到SQL server的许多连接一起工作,导致javaw.exe过度上升

从servlet到SQL server的许多连接一起工作,导致javaw.exe过度上升,java,sql-server,tomcat,servlets,javaw,Java,Sql Server,Tomcat,Servlets,Javaw,我有一个android应用程序,它连接到一个servlet(由tomcat运行), 该servlet通过数据源连接到SQL server 现在,当我们讨论单个连接时,使用: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con1 = DriverManager.getConnection("Jdbc:Odbc:NameOfMyDataSource"); 一切正常 问题是,应用程序使用一个连接来调用一个存储过程,该存储过程会继

我有一个android应用程序,它连接到一个servlet(由tomcat运行), 该servlet通过数据源连接到SQL server

现在,当我们讨论单个连接时,使用:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con1 = DriverManager.getConnection("Jdbc:Odbc:NameOfMyDataSource");
一切正常

问题是,应用程序使用一个连接来调用一个存储过程,该存储过程会继续运行(就像它应该这样),几秒钟后,用户应该能够通过另一个连接调用另一个存储过程:

Connection con2 = DriverManager.getConnection("Jdbc:Odbc:abc");
我有很多这样的连接:(con28,con29,con30),问题是我有太多的情况,当新的存储过程没有被调用时,我看到的是任务管理器中的javaw.exe上升到25

为了释放它,我需要重新启动tomcat服务器,或者在每次发生时终止SQLServer中当前正在运行的进程

我听说过一种叫做pool的东西,但我无法将其用于SQLServer,我不知道这是否是我所需要的


如果有人知道我会很感激的。谢谢大家!

看起来您没有关闭数据库连接。在servlet中发布代码

你好,Paul,感谢您的回复。我确实关闭了所有的连接。在这个注释框中没有地方可以从myservlet编写代码,但一般来说,它是这样的:switch(x)case“A”:try{con1=DriverManager.getConnection(“Jdbc:Odbc:NameOfMyDataSource”);…}。最后是{if(rs!=null)rs.close();if(pstmt!=null)pstmt.close();if(con1!=null)con1.close();…}