`
wrong1111
  • 浏览: 253316 次
  • 性别: 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

分享到:
评论

相关推荐

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

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

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

    DBCP(Database Connection Pool)是Apache的一个开源项目,提供了一个基于Java的数据源连接池实现。在上述问题中,应用程序遇到了由于连接池不合理的锁机制导致的连接耗尽问题,表现为无法从连接池获取新的数据库...

    阿里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腳本在執行過程中,超出了允許的内存限制,導致腳本無法繼續執行。在這篇文章中,我們將詳細解釋這個錯誤的原因、...

    commons-pool.zip

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

    jedisPool配置1

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

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

    PHP错误“Allowed memory size of 67108864 bytes exhausted”通常表示程序运行过程中已用尽了分配给它的内存,导致内存溢出。这个错误在处理大数据量、复杂运算或者大型文件时尤其常见。在PHP中,默认的内存限制...

    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,它提供了...

    usrlocalliblibz.a could not read symbols Bad value问题解决(64 位 Linux)

    - **relocation R_X86_64_32 against `a local symbol' cannot be used when making a shared object:** 这条信息明确指出在构建共享对象(即动态库)时,遇到了针对本地符号的重定位问题,这在默认情况下是不允许的...

    commons-pool-1.5.7-src.zip

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

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

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

    php解决Allowed memory size of bytes exhausted

    在PHP编程中,"Allowed memory size of bytes exhausted"是一个常见的错误,它表示程序在执行过程中耗尽了分配给它的内存。这个错误通常发生在处理大型数据集、递归操作或者内存泄漏时。以下是一些关于如何识别和...

Global site tag (gtag.js) - Google Analytics