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

来源:百度知道 编辑:UC知道 时间:2024/05/31 03:10:28
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.这种错误,说明池中连接用尽,而用户获取连接等待超时。你只给这么一段连接池的配置是不行的。配置应该没有问题,是你的代码有问题。

maxActive="100" maxIdle="30" maxWait="30000
把数值改小一点 30 10 10000