0 0

c3p0连接sqlserver报错5

c3p0的版本是c3p0-0.9.2.1
sqlserver版本2008
spring3.2通过com.mchange.v2.c3p0.ComboPooledDataSource配置的数据源

项目启动时没什么问题,并发量小的时候也没什么问题,但是并发量大的时候,或者是运行时间久的时候,就获取不到数据库连接了,请大家帮忙看下,非常感谢


异常信息及c3p0配置如下:

###数据源配置-c3p0
c3p0.driverClass=net.sourceforge.jtds.jdbc.Driver
c3p0.jdbcUrl=jdbc:jtds:sqlserver://localhost:1433/dzhl2
c3p0.user=sa
c3p0.password=test!
#<!-- 连接池初始化时创建的连接数 -->
c3p0.initialPoolSize=5
#<!-- 连接池保持的最小连接数,后面的maxIdleTimeExcessConnections跟这个配合使用来减轻连接池的负载 -->
c3p0.minPoolSize=5
#<!-- 连接池中拥有的最大连接数,如果获得新连接时会使连接总数超过这个值则不会再获取新连接,而是等待其他连接释放 -->
c3p0.maxPoolSize=100
#<!-- 连接池在无空闲连接可用时一次性创建的新数据库连接数  -->
c3p0.acquireIncrement=3
#<!-- 连接的最大空闲时间,单位秒,如果超过这个时间,某个数据库连接还没有被使用,则会断开掉这个连接 如果为0,则永远不会断开连接 -->
c3p0.maxIdleTime=120
#<!--每60秒检查所有连接池中的空闲连接。Default: 0 --> 
c3p0.idleConnectionTestPeriod=1200
#获取connnection时测试是否有效
c3p0.testConnectionOnCheckin=true
#自动测试的table名称
c3p0.automaticTestTable=C3P0TestTable
#if you can take the performance 'hit', set to "true"
c3p0.testConnectionOnCheckout = true
#<!-- 连接池在获得新连接失败时重试的次数,如果小于等于0则无限重试直至连接获得成功 -->
c3p0.acquireRetryAttempts=30
#<!-- 如果为true,则当连接获取失败时自动关闭数据源,除非重新启动应用程序。所以一般不用 -->
c3p0.breakAfterAcquireFailure=false
# <!--连接关闭时默认将所有未提交的操作回滚。默认: false --> 
c3p0.autoCommitOnClose=true



信息: Closing Spring root WebApplicationContext
java.sql.SQLException: An SQLException was provoked by the following failure: java.lang.InterruptedException
	at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
	at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65)
	at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:62)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:531)
	at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
	at sunxp.db.ConnectionPool.getConnection(ConnectionPool.java:28)
	at sunxp.db.ConnectionPool.getConnection(ConnectionPool.java:18)
	at sunxp.db.SelectHandler.<init>(SelectHandler.java:39)
	at org.apache.jsp.login_005fnew_jsp._jspService(login_005fnew_jsp.java:130)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	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.valves.AccessLogValve.invoke(AccessLogValve.java:567)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:574)
	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1527)
	at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.InterruptedException
	at java.lang.Object.wait(Native Method)
	at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1315)
	at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)
	at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)
	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)
	... 24 more


2013年11月05日 10:04

1个答案 按时间排序 按投票排序

0 0

我也遇到过,但是情况是用户名一段时间登陆不上数据库,说用户名和密码错误,目前都没有找到解决方法,一段时间就会恢复,估计是连接池的问题,建议更改别的连接池

2013年11月05日 22:42

相关推荐

Global site tag (gtag.js) - Google Analytics