程序刚开始时能运行,可运行一会就抛出异常:
exception
javax.servlet.ServletException: Cannot get a connection, pool exhausted
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:867)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:800)
org.apache.jsp.down.chkpws_jsp._jspService(chkpws_jsp.java:319)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause
org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted
org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:103)
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
org.apache.commons.dbcp.DataSourceConnectionFactory.createConnection(DataSourceConnectionFactory.java:42)
org.apache.jsp.down.chkpws_jsp._jspService(chkpws_jsp.java:240)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
无论我连接池调到多大也没用。我是用org.apache.commons.dbcp连的,请高手帮忙,晕迷中...
11 个解决方案
#1
pool exhausted----连接池耗尽
可能是资源使用后没有关闭或者释放导致的吧~~~
能close的就在使用后close了~~~
可能是资源使用后没有关闭或者释放导致的吧~~~
能close的就在使用后close了~~~
#2
没条语句后面都有关闭资源
finally
{
if (rs != null)
{
try
{
rs.close();
}catch (...)
{}
}
......
finally
{
if (rs != null)
{
try
{
rs.close();
}catch (...)
{}
}
......
#3
不仅rs.close,连接connection也要关闭
#4
......代表了stmt和conn, 和rs关闭方式是一样的饿!!!!!!
#5
关闭rs,ps,cnn,jboss-service.xml文件中的maxProcessors小于连接池配置文件的连接池数
#6
stmt.close();
rs.close();
ObjDBConnBean.freeConnection("goa",Conn);
rs.close();
ObjDBConnBean.freeConnection("goa",Conn);
#7
关闭rs,ps,conn,在jboss-service.xml中的maxProcessors数小于连接池数
#8
up
#9
我用的是tomcat
谁能告诉我问题出在哪里?我把连接池数调到500都不行
谁能告诉我问题出在哪里?我把连接池数调到500都不行
#10
版本的搭配要注意下,TOMCAT 5.5应该和JDK1.5搭配。另外用winxp sp2+SQLServer的朋友要注意SQLServer没有打升级补丁的话是连接不了的。
#11
不知道你的关闭连接的语句是写在哪里的
如果是写在servlet的destroy()里面就很容易出现这种问题
如果是写在servlet的destroy()里面就很容易出现这种问题
#1
pool exhausted----连接池耗尽
可能是资源使用后没有关闭或者释放导致的吧~~~
能close的就在使用后close了~~~
可能是资源使用后没有关闭或者释放导致的吧~~~
能close的就在使用后close了~~~
#2
没条语句后面都有关闭资源
finally
{
if (rs != null)
{
try
{
rs.close();
}catch (...)
{}
}
......
finally
{
if (rs != null)
{
try
{
rs.close();
}catch (...)
{}
}
......
#3
不仅rs.close,连接connection也要关闭
#4
......代表了stmt和conn, 和rs关闭方式是一样的饿!!!!!!
#5
关闭rs,ps,cnn,jboss-service.xml文件中的maxProcessors小于连接池配置文件的连接池数
#6
stmt.close();
rs.close();
ObjDBConnBean.freeConnection("goa",Conn);
rs.close();
ObjDBConnBean.freeConnection("goa",Conn);
#7
关闭rs,ps,conn,在jboss-service.xml中的maxProcessors数小于连接池数
#8
up
#9
我用的是tomcat
谁能告诉我问题出在哪里?我把连接池数调到500都不行
谁能告诉我问题出在哪里?我把连接池数调到500都不行
#10
版本的搭配要注意下,TOMCAT 5.5应该和JDK1.5搭配。另外用winxp sp2+SQLServer的朋友要注意SQLServer没有打升级补丁的话是连接不了的。
#11
不知道你的关闭连接的语句是写在哪里的
如果是写在servlet的destroy()里面就很容易出现这种问题
如果是写在servlet的destroy()里面就很容易出现这种问题