首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

com.mchange.v2.resourcepool.CannotAcquireResourceException:

2011-11-09 
在线等,非常着急,非常急,大家帮帮小弟啦!!!项目之前运行非常的稳定,没有异常情况但是项目自从换了服务器之

在线等,非常着急,非常急,大家帮帮小弟啦!!!
项目之前运行非常的稳定,没有异常情况
但是项目自从换了服务器之后就出现这样的异常了。

1、项目分成两部分,主站和论坛(论坛与主站的数据库是分开的)。
2、主站首页需要显示论坛的内容(所以连接论坛时又新增了一个数据库连接,是用C3PO连接的)。
3、在主站注册会员的时候,同时把会员信息添加到论坛中(下面的异常就是注册会员添加到论坛时抛出的异常)。
疑点:主站首页显示论坛信息的时候没有发生异常,如果是C3PO连接有问题的话,那主站显示论坛信息的也应该发生异常,
但是只有会员注册的时候发生了异常,这是小弟迷惑的地方,希望各位大哥帮帮忙,谢谢!!!!

com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1307)
at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:551)
at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:471)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
at com.czsoft.tax.bbs.DBPool.getConnection(DBPool.java:43)
at com.czsoft.tax.bbs.UserDB.insert(UserDB.java:14)
at com.czsoft.tax.web.action.UserAction.add(UserAction.java:309)
at sun.reflect.GeneratedMethodAccessor709.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:619)

[解决办法]
使用的什么论坛?论坛是否提供了这样的接口?检查一下外键约束。
[解决办法]
public? 想用单态还不如改成private呢。

我怀疑是主键的问题。
[解决办法]
com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source. 

at com.czsoft.tax.bbs.DBPool.getConnection(DBPool.java:43) 

明显是数据库连接问题~~~
把ComboPooledDataSource这个类的代码贴出来看看
------解决方案--------------------


at com.czsoft.tax.bbs.DBPool.getConnection(DBPool.java:43) 
获取连接的时候没资源还是什么? 确认代码connection都关闭

增加连接数试下。 确认URL都正确?
dataSource = new ComboPooledDataSource();
BbsProperties bbs = new BbsProperties();
dataSource.setUser(bbs.readValue("connection.username"));
dataSource.setPassword(bbs.readValue("connection.password"));
dataSource.setJdbcUrl(bbs.readValue("connection.url")); 
dataSource.setDriverClass(bbs.readValue("connection.driver_class")); 
dataSource.setInitialPoolSize(2); 
dataSource.setMinPoolSize(1); 
dataSource.setMaxPoolSize(10); 
dataSource.setMaxStatements(50); 
dataSource.setMaxIdleTime(60);

真不行改下DBPool, 直接DBpool.getConnection都每次开一个连接,直接使用JDBC调试下
[解决办法]

探讨
有可能是数据库问题。
 因为项目在以前的服务器上跑一点问题都没有,自从换了服务器和数据库后就出现问题了,代码应该没问题,Tomcat的版本与以前的版本一样,剩下就数据库不一样了!有谁知道具体是数据库哪里原因吗?因为我还得找服务器那边的人,就好能一次性弄好!麻烦大家了!

[解决办法]
探讨
引用:
有可能是数据库问题。
因为项目在以前的服务器上跑一点问题都没有,自从换了服务器和数据库后就出现问题了,代码应该没问题,Tomcat的版本与以前的版本一样,剩下就数据库不一样了!有谁知道具体是数据库哪里原因吗?因为我还得找服务器那边的人,就好能一次性弄好!麻烦大家了!
那就用回原来的数据库,然后还原备份,看看行不行,如果真的什么都没有改变,程序还是很听话的~~~~

[解决办法]
这样至少不会让你明天下岗.
[解决办法]
好像是有循环的引用。你配置有问题。
上配置文件。
[解决办法]
Java code
<property name="show_sql">true</property>
[解决办法]
Java code
A ResourcePool could not acquire a resource from its primary factory or source.
[解决办法]

哎, 临时没时间就直接把下面的改成
DriverManager.getConnection()用着先了。。。。===============================================================

public final Connection getConnection(){
try {
return dataSource.getConnection();
} catch (SQLException e) {
System.out.println("DBPool ----> getConnection() exception");
throw new RuntimeException("Connection is error!",e);
}
}

[解决办法]
刚才google了一把,好像都说是c3p0连接池的问题。
这个帖子是英文的,我没本事翻译过来。希望楼主有那个能力。

期待问题的解决方案。
记得贴上来。
http://lists.jboss.org/pipermail/hibernate-issues/2006-November/002418.html
[解决办法]
o
[解决办法]
是否尝试不使用c3po连接池而直接使用hibernate的datasorce?得先确定到底是什么部分造成的问题,使用21楼的方式可以先获得连接暂时把问题表面解决下。
[解决办法]
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2032

上面地址通过goole翻译。
http://translate.google.cn/translate?hl=zh-CN&sl=en&u=http://opensource.atlassian.com/projects/hibernate/browse/HHH-2032&ei=d6cLS-vcH43Y7APrwMGBAw&sa=X&oi=translate&ct=result&resnum=2&ved=0CAsQ7gEwATgK&prev=/search%3Fq%3Dcom.mchange.v2.resourcepool.CannotAcquireResourceException:%2BA%2BResourcePool%2Bcould%2Bnot%2Bacquire%2Ba%2Bresource%2Bfrom%2Bits%2Bprimary%2Bfactory%2Bor%2Bsource.%26hl%3Dzh-CN%26sa%3DN%26start%3D10%26newwindow%3D1




----------------------------三个解决办法?---------------
14:43:58,253 WARN BasicResourcePool:1222 - com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@edf4c8 – Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30).

There are three workarounds to the problem:

1。 Revert back to Hibernate 3.2.0.cr3 (not really an option)恢复到休眠3.2.0.cr3(不是一个真正的选项)
2. 2。 Increase the 'max connections' setting for the database加大对数据库中的'最大的连接设置
3. 3。 Disable c3p0 by removing it from hibernate.cfg.xml禁用C3P0的通过从它的hibernate.cfg.xml
[解决办法]
太长了,不好弄啊,大哥,回家好好想想!!!
[解决办法]
UP,不用下岗就好...
[解决办法]
很好很强大啊
[解决办法]
帮你顶...
[解决办法]
帮顶了,是在不懂
[解决办法]
看看插入sql语句怎样的

[解决办法]
帮你顶上去
[解决办法]
学习了
[解决办法]
bang ding le
[解决办法]
顶一个
[解决办法]
。。。。。。。。。。。。。。。。
[解决办法]
和你用的是一样的C3PO连接池,不过偶们是委托给SPRING管理的。。。
[解决办法]
主键的问题
[解决办法]
没有看懂,不知道
[解决办法]
帮顶
[解决办法]
应该是数据库的问题
[解决办法]
我能力不够,看不懂,希望你尽快解决。
[解决办法]
真是不懂 帮顶一个 希望你们能在一块

[解决办法]
职业绑定
[解决办法]
帮顶了~~~!!!!我也不懂学CC++的
[解决办法]
表空间用尽
[解决办法]
只能尽力顶了
[解决办法]
尽力顶了
[解决办法]
使用的什么论坛?论坛是否提供了这样的接口?检查一下外键约束。
[解决办法]
把数据库的最大连接数加大。
[解决办法]
呵呵 帮顶~~~
[解决办法]
呵呵 帮顶~~~呵呵 帮顶~~~
[解决办法]
帮顶了
------解决方案--------------------


更改数据库连接的代码;
重启服务器.
[解决办法]
一个教训就是在实际项目中一定要记得适当的时候做好数据库的备份!
[解决办法]
可能是数据库安装过程中的异常所致
[解决办法]
很好很强大啊
[解决办法]
友情帮顶
[解决办法]

[解决办法]
友情帮顶

热点排行