`
shylhd
  • 浏览: 74263 次
  • 性别: Icon_minigender_2
  • 来自: 河北
最近访客 更多访客>>
社区版块
存档分类
最新评论

tomcat异常: Cannot get a connection, pool exhausted

    博客分类:
  • java
阅读更多

项目运用当中,在tomcat 中的 conf/server.xml

中配制JNDI

配置如下:

 

<Resource auth="Container" name="jdbc/ztc" type="javax.sql.DataSource"/>
					<ResourceParams name="jdbc/ztc">
						<parameter>
							<name>factory</name>
							<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
						</parameter>
						<parameter>
							<name>maxWait</name>
							<value>10000</value>
						</parameter>
						<parameter>
							<name>maxActive</name>
							<value>100</value>
						</parameter>

						<parameter>
							<name>url</name>
							<value>jdbc:sqlserver://192.168.1.99:1433;databaseName=ztc</value>
						</parameter>
						<parameter>
							<name>driverClassName</name>
							<value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
						</parameter>

						<parameter>
							<name>maxIdle</name>
							<value>30</value>
						</parameter>
						<parameter>
							<name>username</name>
							<value>ecp</value>
						</parameter>
						<parameter>
							<name>password</name>
							<value>123456</value>
						</parameter>

 

 

但是在运行的时候,因为需要经常性的对数据库进行联接,释放。一会就出现下列异常:

 

org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted
	at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:103)
	at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
	at com.ytx.ztc.dao.BetbrainOdds45DAOImpl.insertOrUpdateBetbrainOdds45(BetbrainOdds45DAOImpl.java:526)
	at com.ytx.ztc.bean.BetbrainCorrentScoreImpl.getOddsByUrl(BetbrainCorrentScoreImpl.java:256)
	at com.ytx.ztc.bean.BetbrainCorrentScoreImpl.getData(BetbrainCorrentScoreImpl.java:132)
	at com.ytx.ztc.timer.CorrentScoreTimer.run(CorrentScoreTimer.java:28)
	at java.util.TimerThread.mainLoop(Timer.java:432)
	at java.util.TimerThread.run(Timer.java:382)
Caused by: java.util.NoSuchElementException: Timeout waiting for idle object
	at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:756)

 经过网上搜索,才知道是因为,联接池出现异常。所以添加下面的三个属性配制

 

 

	<!--  default fasle-->
						<parameter>
								<name>removeAbandoned</name>
								<value>true</value>
						</parameter>
						<!-- set recently request to recall connection -->
						<parameter>
								<name>removeAbandonedTimeout</name>
								<value>60</value>
						</parameter>
						<!--  log infomation log debug .-->
						<parameter>
									<name>logAbandoned</name>
									<value>true</value>
						</parameter>

 

OK。问题已经解决!

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics