求救!!!数据库连接池出错

Tomcat提示信息:Cannot get a connection, pool error Timeout waiting for idle object.开始登录没问题,刷新十次Tomcat就出现这个错误,我在每次查询完都在Finally内调用了连接的Close()方法.Tomcat的设置是<Context crossContext="true" debug="5" docBase="afeng" path="/afeng" reloadable="true">
<Resource name="jdbc/zs" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="30000"
username="root" password="" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/zs?autoReconnect=true"/>
有好的解决方法的话再加20,分少,见谅
谢了,把 maxWait值改小问题至少刷新页面正常运行了,但那个错误还是一样出来,数据库也连不上了.maxActive="-1" maxIdle="30" maxWait="-1"按这样设的话,Tomcat启动的时候出错:NumberFormatException: For input string: "-1s" 数据库连接不上.
有没有其它解决方案了?
的确是代码有问题,已经解决了,连接是否为空的语句没有起作用,不过我每次连接完了都使用了Close()方法,新的连接用完了,不知为什么连接池的连接不会被使用

在使用Connection之后,是否关闭了。再检查一下Statement和ResultSet是否关闭。
只是出现错误提示吗?是否可以对数据库进行操作?

(我在每次查询完都在Finally内调用了连接的Close()方法)。能否给我看看你的代码。

Cannot get a connection, pool error Timeout waiting for idle object.这种错误,说明池中连接用尽,而用户获取连接等待超时。你只给这么一段连接池的配置是不行的。配置应该没有问题,是你的代码有问题。
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-12-18
maxActive="100" maxIdle="30" maxWait="30000
把数值改小一点 30 10 10000

数据库导致服务器CPU过高怎么优化?
其他的我就不知道了。mysql数据库导致cpu过高一般从执行状态分析:执行状态分析 Sleep状态 通常代表资源未释放,如果是通过连接池,sleep状态应该恒定在一定数量范围内 实战范例:因前端数据输出时(特别是输出到用户终端)未及时关闭数据库连接,导致因网络连接速度产生大量sleep连接,在网速出现异常时,数据库...

由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作
SHIFT+CTRL+F 整个解决方案搜索一下Connection 找到实例名称,再看一下这个实例用完有没有Close掉 另外:你的网站比较大的话,建议不要在需要使用数据库连接的地方随意创建新对象,而是使用自己封装的类,这样有利以后修改及减少影响 比如你可以建一个类A,里面有个方法 QueryData(string sql){ \/\/ 把...

套接字异常关闭 求救
a.在代理服务器上建立少量数据库连接(100以下),无需与数据库进行数据交互的客户连接,只占用客户连接线程,有数据操作请求时,调用数据库连接池中的空闲数据库连接与数据库连接进行数据交互。b.根据阅卷点的设置分配代理服务器及文件服务器,由代理服务器与总数据库连接。也可根据科目设置多个数据库服务...

相似回答