关于c3p0建立连接池报错

 

用c3p0建立连接池,当第一次进行数据库连接的时候,需要初始化很长的时间,而且还会出现以下的错误,在网上搜了很多的东西,有改myeclipse内存配置的,有改Tomcat内存配置的,等等,可是都不管用;还有经常出现的是进行以下的配置

 

<property name="maxStatements" value="0" />
<property name="maxStatementsPerConnection" value="0" />

 可是最终问题还是没有解决,然后找到了一个说是配置初始化连接池的数目必须在min和max之间,然后配置是这样,应该不是这个问题,后来我又自己把initialPoolSize、 minPoolSize和maxPoolSize改成了比较小的数目,现在时不报错了。配置如下:

 

		<property name="maxPoolSize" value="5" />
		<property name="minPoolSize" value="1" />
		<property name="initialPoolSize" value="2" />

 虽然不报错,可是第一次连接数据库的时候还是很慢的,难道连接池不是在Tomcat启动的时候就已经初始化了吗?难道会是在进行第一次连接的时候进行初始化?请大家指点。。。

 

 

 

错误信息如下:

 

Managed Threads: 3

	Active Threads: 3
	Active Tasks: 
		com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1366e7d (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0)
		com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@900995 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1)
		com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6545b3 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2)
	Pending Tasks: 
		com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@c30cd3
Pool thread stack traces:
	Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0,5,main]
		java.net.SocketInputStream.socketRead0(Native Method)
		java.net.SocketInputStream.read(SocketInputStream.java:129)
		com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113)
		com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160)
		com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188)
		com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2452)
		com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:591)
		com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1070)
		com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2048)
		com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:723)
		com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
		sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
		sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
		sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
		java.lang.reflect.Constructor.newInstance(Constructor.java:513)
		com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
		com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
		com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
		com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
		com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
		com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
		com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
		com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
		com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
		com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
		com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
	Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1,5,main]
		java.net.SocketInputStream.socketRead0(Native Method)
		java.net.SocketInputStream.read(SocketInputStream.java:129)
		com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113)
		com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160)
		com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188)
		com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2452)
		com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:591)
		com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1070)
		com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2048)
		com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:723)
		com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
		sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
		sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
		sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
		java.lang.reflect.Constructor.newInstance(Constructor.java:513)
		com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
		com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
		com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
		com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
		com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
		com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
		com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
		com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
		com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
		com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
		com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
	Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2,5,main]
		java.net.SocketInputStream.socketRead0(Native Method)
		java.net.SocketInputStream.read(SocketInputStream.java:129)
		com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113)
		com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160)
		com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188)
		com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2452)
		com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:591)
		com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1070)
		com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2048)
		com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:723)
		com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
		sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
		sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
		sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
		java.lang.reflect.Constructor.newInstance(Constructor.java:513)
		com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
		com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
		com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
		com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
		com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
		com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
		com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
		com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
		com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
		com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
		com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值