`
wrong1111
  • 浏览: 249979 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

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。问题已经解决!

 参考联接地址:http://www.cnblogs.com/willpower/archive/2008/07/30/1256582.html

分享到:
评论

相关推荐

    dbcp 连接池不合理的锁导致连接耗尽解决方案

    dbcp 连接池不合理的锁导致连接耗尽解决方案 ... nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted at org.springframework.jdbc.dataso

    阿里dubbo出错提示Thread pool is EXHAUSTED问题及解决方法

    阿里dubbo出错提示Thread pool is EXHAUSTED问题及解决方法 阿里dubbo出错提示Thread pool is EXHAUSTED是一个常见的错误提示,通常发生在dubbo服务端线程池资源耗尽的情况下。在本篇文章中,我们将详细介绍该错误...

    commons-dbcp-1.4-src&commons-pool-1.5.4-src

    o POOL-152: GenericObjectPool can block forever in borrowObject when the pool is exhausted and a newly created object fails validation. When borrowing an object if a new object is created but ...

    spring+atomikos+druid分布式事务

    使用spring + atomikos+druid配置的分布式事务demo,两种数据源配置方式都可以,使用junit测试没问题,案例中使用的mysql数据库是8.0.11版本,版本不同请自行修改pom.xml和jdbc.properties

    commons-pool-1.6

    6. **异常处理**:库中还包括了一些异常类,如Pool Exhausted Exception,当池中没有可用对象且maxWait已过时会抛出这个异常。 7. **性能优化**:除了基本的池化功能,Apache Commons Pool还提供了一些性能优化策略...

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)

    主要介绍了Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)错误的解决方法,需要的朋友可以参考下

    commons-pool2-2.5.0-bin.zip

    4. **异常处理**:当对象池中的对象不足或超过设定限制时,Apache Commons Pool 2 可以自动处理异常,如`Pool Exhausted Exception`和`PoolClosedException`,并提供合适的回退策略。 5. **性能优化**:通过高效的...

    php Allowed memory size of 134217728 bytes exhausted

    PHP 中最常见的错误之一是 "Allowed memory size of 134217728 bytes exhausted",這個錯誤是指 PHP腳本在執行過程中,超出了允許的内存限制,導致腳本無法繼續執行。在這篇文章中,我們將詳細解釋這個錯誤的原因、...

    编译时virtual memory exhausted Cannot allocate memory 内存增加.docx

    在执行编译程序时,如果虚拟机的内存不足,可能会出现“Virtual Memory Exhausted: Cannot Allocate Memory”的错误提示。这是因为编译程序需要占用大量的内存空间,而虚拟机的内存不足以满足编译程序的需求。 解决...

    commons-pool.zip

    7. **异常处理**:池库还包含了一些处理和报告异常的机制,比如当池中的对象耗尽时,`GenericObjectPool`会抛出`Pool Exhausted Exception`。 8. **性能优化**:通过合理设置对象池的参数,可以有效地优化内存使用...

    jedisPool配置1

    - `WHEN_EXHAUSTED_FAIL`: 没有可用连接时,抛出`NoSuchElementException`异常。 - `WHEN_EXHAUSTED_BLOCK`: 阻塞请求,直到有连接释放,或者等待达到`maxWait`时间后抛出`JedisConnectionException`。 - `WHEN_...

    ResourceExhaustion:调查Java资源耗尽情况

    cwb@laptop$ (./a.out | tail -1) & (./a.out | tail -1) mmap: Cannot allocate memory mmap: Cannot allocate memory 121126: Allocated map: 65514, 0x7f93dae09000 121128: Allocated map: 65514, 0x7fbce487...

    Jedis出现connection timeout问题解决方法(JedisPool连接池使用实例)

    在使用Redis客户端Jedis时,有时会遇到"connection timeout"的问题,这通常意味着客户端尝试连接到Redis服务器时超时,无法建立有效的网络连接。解决这个问题的一种常见策略是使用Jedis的连接池JedisPool,它提供了...

    commons-pool-1.5.7-src.zip

    5. **异常处理**:当池中的对象不足或者无法满足需求时,Apache Commons Pool 会抛出相应的异常,如`NoSuchElementException`(没有更多可借用的对象)和`Pool Exhausted Exception`(池耗尽)。 6. **配置参数**:...

    PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法

    今天在百度知道看php相关资料时发现一个网友问一个wordpress安装提示错误的一个问题,说他在安装wordpress安装包时遇到这样一个问题:Fatal error:Allowed memory size of 67108864 bytes exhausted (tried to ...

    云服务器如何开虚拟内存.doc

    云服务器编译安装PHP遇到virtual memory exhausted: Cannot allocate memory

    php解决Allowed memory size of bytes exhausted

    php解决Allowed memory size of bytes exhausted

    Redis连接错误的情况总结分析

    connection pool exhausted connection refuse by peer 一个个来分析。 LOADING Redis is loading the dataset in memory 这里至少有2种可能 可用内存太小,修改 redis.conf 中的 maxmemory 即可解决 redis 在...

Global site tag (gtag.js) - Google Analytics