Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 为什么JDBC连接在我关闭后仍保持打开状态?_Jquery_Jdbc - Fatal编程技术网

Jquery 为什么JDBC连接在我关闭后仍保持打开状态?

Jquery 为什么JDBC连接在我关闭后仍保持打开状态?,jquery,jdbc,Jquery,Jdbc,我有一个运行在Tomcat7上的Java web应用程序,它使用JDBC连接到Oracle 11g数据库。该应用程序包含一个JSP,它使用JQuery向servlet发出Ajax请求(使用.post函数),servlet将数据插入数据库。当系统负载很轻时,我开始在数据库中看到空闲连接。我通过在sqldeveloper中检查v$session来观察它们。当我们运行性能测试时,它在大约2分钟内使数据库服务器的连接数达到150个。我已经检查过我的代码很多次了,我总是关闭finally块中的所有结果集、

我有一个运行在Tomcat7上的Java web应用程序,它使用JDBC连接到Oracle 11g数据库。该应用程序包含一个JSP,它使用JQuery向servlet发出Ajax请求(使用.post函数),servlet将数据插入数据库。当系统负载很轻时,我开始在数据库中看到空闲连接。我通过在sqldeveloper中检查v$session来观察它们。当我们运行性能测试时,它在大约2分钟内使数据库服务器的连接数达到150个。我已经检查过我的代码很多次了,我总是关闭finally块中的所有结果集、语句和连接。当JSP同时提交多个Ajax请求时,问题就出现了,这使我认为这可能是一个多线程问题,但我还是忽略了我的代码,没有跨线程共享数据。从数据源获取连接并关闭连接的代码位于所有DAO类继承自的抽象基类中。有人知道这是什么原因吗?由于涉及到很多类,我不确定发布什么源代码;如果你想看,请告诉我。谢谢您的帮助。

尝试将maxWait设置为10000,并观察超时情况。这表明web应用程序的某些组件没有关闭数据库连接


另外,尝试将maxActive限制在15,看看这会如何影响您的应用程序和Oracle中同时打开的连接数。

您的连接池设置是什么?您是否使用过连接池(DBCP)?这在tomcat的服务器中。xml:logaudded=“true”maxActive=“50”maxIdle=“2”maxWait=“-1”RemoveBandoned=“true”RemoveBandonedTimeout=“10”您是否在context.xml中定义了任何数据源?是的,该数据源是在context.xml中定义的。实际上,我们最终将maxWait设置为-1,将maxIdle设置为2,这似乎解决了问题。当系统处于重载状态时,它确实会创建额外的连接,但它们很快就会消失。