Sql Server& C3P0连接已关闭,无法准备声明

时间:2018-02-08 09:56:47

标签: hibernate java-ee c3p0

我使用sql serve数据库并部署在Websphere Application Server V8.0上的企业应用程序,最近,它已决定使用c3p0连接池。现在,在启动部署的耳朵一段时间之后,我们面临一些停机时间,导致在代码中加载/保存一些值时出错。显示的例外情况如下,其他。我省略了一些我无法分享的点线。

记录已删除的字符限制。请检查以下更新。

c3p0配置

#hibernate C3P0 config
connection.provider_class= org.hibernate.connection.C3P0ConnectionProvider
hibernate.c3p0.idle_test_period= 300
hibernate.c3p0.unreturnedConnectionTimeout= 30
hibernate.c3p0.debugUnreturnedConnectionStackTraces= false
hibernate.c3p0.maxConnectionAge= 2000
hibernate.c3p0.min_size= 1
hibernate.c3p0.max_size= 1000
hibernate.c3p0.timeout= 1000
hibernate.c3p0.maxIdleTimeExcessConnections= 15
hibernate.c3p0.testConnectionOnCheckin= true
hibernate.c3p0.testConnectionOnCheckout = true
hibernate.c3p0.preferredTestQuery= SELECT 1;
hibernate.c3p0.privilegeSpawnedThreads= true
hibernate.c3p0.contextClassLoaderSource= library
hibernate.c3p0.idleConnectionTestPeriod = 300

更改某些值(例如

)时也会发生这种情况
  

idleConnectionTestPeriod = 30
  maxConnectionAge = 500

     

idleConnectionTestPeriod = 1
  maxConnectionAge = 500

注意:

  • 在服务器上部署耳朵并使用测试随机启动后等待超过15分钟后显示。

  • Hibernate 4.3.1与c3p0 0.9.2.1一起使用。 Java EE 6用于WAS 6.0,但hibernate(不是JPA)api用于数据库事务。

  • 在代码中我使用了getCurrentSession()并且只有一个servlet在最后我关闭了会话(据我所知,这不是必需的,因为我不使用openSession())。 / p>

我只是寻找可能导致这种情况的暗示?也许在我的应用范围之外关闭连接的东西?任何建议都非常受欢迎。

更新

在对某些日志进行监控和检查后,以下是我对C3P0行为的注意事项:

日志:

[2/12/18 14:28:49:945 EET] 0000009a SystemOut     O 2018-02-12 14:28:49 DEBUG C3P0PooledConnectionPool:452 - Test of PooledConnection [com.mchange.v2.c3p0.impl.NewPooledConnection@d55cf62d] on CHECKIN has SUCCEEDED.
[2/12/18 14:28:50:130 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 INFO  Connection:84 - beginConnection method called
[2/12/18 14:28:50:131 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 DEBUG C3P0PooledConnectionPool:448 - Testing PooledConnection [com.mchange.v2.c3p0.impl.NewPooledConnection@d55cf62d] on CHECKOUT.
[2/12/18 14:28:50:134 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 DEBUG C3P0PooledConnectionPool:452 - Test of PooledConnection [com.mchange.v2.c3p0.impl.NewPooledConnection@d55cf62d] on CHECKOUT has SUCCEEDED.
[2/12/18 14:28:50:135 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 DEBUG BasicResourcePool:1747 - trace com.mchange.v2.resourcepool.BasicResourcePool@926084ea [managed: 2, unused: 1, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@195f9907)
[2/12/18 14:28:50:148 EET] 00000096 SystemOut     O 2018-02-12 14:28:50 INFO  Connection:84 - beginConnection method called
[2/12/18 14:28:50:149 EET] 00000096 SystemOut     O 2018-02-12 14:28:50 DEBUG NewPooledConnection:490 - com.mchange.v2.c3p0.impl.NewPooledConnection@d162951 handling a throwable.
com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed(SQLServerConnection.java:388)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStatement(SQLServerConnection.java:2166)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStatement(SQLServerConnection.java:1853)
    at com.mchange.v2.c3p0.impl.NewProxyConnection.prepareStatement(NewProxyConnection.java:162)
    at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:162)
    at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:186)
    at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:160)
    at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1884)
    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1861)
    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1838)
    at org.hibernate.loader.Loader.doQuery(Loader.java:909)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354)
    at org.hibernate.loader.Loader.doList(Loader.java:2551)
    at org.hibernate.loader.Loader.doList(Loader.java:2537)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2367)
    at org.hibernate.loader.Loader.list(Loader.java:2362)
    at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:126)
    at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1678)
    at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:380)
    .
    .
    .
    at sun.reflect.GeneratedMethodAccessor101.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at org.apache.wink.server.internal.handlers.InvokeMethodHandler.handleRequest(InvokeMethodHandler.java:63)
    at org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:33)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
    at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
    at org.apache.wink.server.internal.handlers.CreateInvocationParametersHandler.handleRequest(CreateInvocationParametersHandler.java:54)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
    at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
    at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleSubResourceMethod(FindResourceMethodHandler.java:188)
    at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:110)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
    at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
    at org.apache.wink.server.internal.handlers.FindRootResourceHandler.handleRequest(FindRootResourceHandler.java:95)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
    at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
    at org.apache.wink.server.internal.handlers.HeadMethodHandler.handleRequest(HeadMethodHandler.java:53)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
    at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
    at org.apache.wink.server.internal.handlers.OptionsMethodWADLHandler.handleRequest(OptionsMethodWADLHandler.java:51)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
    at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
    at org.apache.wink.server.internal.handlers.SearchResultHandler.handleRequest(SearchResultHandler.java:33)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
    at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
    at org.apache.wink.server.internal.log.ResourceInvocation.handleRequest(ResourceInvocation.java:92)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
    at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
    at org.apache.wink.server.internal.log.Requests.handleRequest(Requests.java:76)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
    at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
    at org.apache.wink.server.handlers.AbstractHandlersChain.run(AbstractHandlersChain.java:60)
    at org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:207)
    at org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:154)
    at org.apache.wink.server.internal.servlet.RestServlet.service(RestServlet.java:124)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1232)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:781)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:480)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1114)
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:940)
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316)
    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
    at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881)
[2/12/18 14:28:50:149 EET] 00000096 SystemOut     O 2018-02-12 14:28:50 DEBUG SqlUtils:97 - Attempted to convert SQLException to SQLException. Leaving it alone. [SQLState: null; errorCode: 0]
com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
    .
    .
    same above
[2/12/18 14:28:50:150 EET] 00000096 SystemOut     O 2018-02-12 14:28:50 DEBUG DefaultConnectionTester:138 - Testing a Connection in response to an Exception:
com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
    .
    .
    same above
[2/12/18 14:28:50:151 EET] 00000096 SystemOut     O 2018-02-12 14:28:50 DEBUG DefaultConnectionTester:92 - Connection ConnectionID:33 ClientConnectionId: 751fc09e-1fbd-42fe-9368-b7706a48800a failed Connection test with an Exception! [query=SELECT 1;]
com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
    .
    .
    same above
[2/12/18 14:28:50:151 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 INFO  Connection:114 - commit method called
[2/12/18 14:28:50:151 EET] 00000096 SystemOut     O 2018-02-12 14:28:50 DEBUG NewPooledConnection:509 - com.mchange.v2.c3p0.impl.NewPooledConnection@d162951 invalidated by Exception.
com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
    .
    .
    same above
[2/12/18 14:28:50:158 EET] 00000096 SystemOut     O 2018-02-12 14:28:50 DEBUG C3P0PooledConnectionPool:941 - CONNECTION ERROR OCCURRED!
[2/12/18 14:28:50:159 EET] 00000096 SystemOut     O 2018-02-12 14:28:50 DEBUG BasicResourcePool:780 - Resource com.mchange.v2.c3p0.impl.NewPooledConnection@d162951 marked broken by pool (com.mchange.v2.resourcepool.BasicResourcePool@926084ea).
[2/12/18 14:28:50:159 EET] 00000096 SystemOut     O 2018-02-12 14:28:50 DEBUG BasicResourcePool:1526 - Excluded resource com.mchange.v2.c3p0.impl.NewPooledConnection@d162951
java.lang.Exception: DEBUG STACK TRACE: Excluded resource stack trace
    at com.mchange.v2.resourcepool.BasicResourcePool.excludeResource(BasicResourcePool.java:1526)
    at com.mchange.v2.resourcepool.BasicResourcePool._markBroken(BasicResourcePool.java:1219)
    at com.mchange.v2.resourcepool.BasicResourcePool.markBroken(BasicResourcePool.java:782)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$ConnectionEventListenerImpl.doMarkPoolStatus(C3P0PooledConnectionPool.java:977)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$ConnectionEventListenerImpl.connectionErrorOccurred(C3P0PooledConnectionPool.java:964)
    at com.mchange.v2.c3p0.util.ConnectionEventSupport.fireConnectionErrorOccurred(ConnectionEventSupport.java:88)
    at com.mchange.v2.c3p0.impl.NewPooledConnection.fireConnectionErrorOccurred(NewPooledConnection.java:577)
    at com.mchange.v2.c3p0.impl.NewPooledConnection.handleThrowable(NewPooledConnection.java:557)
    at com.mchange.v2.c3p0.impl.NewProxyConnection.prepareStatement(NewProxyConnection.java:179)
    at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:162)
    at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:186)
    at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:160)
    at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1884)
    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1861)
    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1838)
    at org.hibernate.loader.Loader.doQuery(Loader.java:909)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354)
    at org.hibernate.loader.Loader.doList(Loader.java:2551)
    at org.hibernate.loader.Loader.doList(Loader.java:2537)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2367)
    at org.hibernate.loader.Loader.list(Loader.java:2362)
    at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:126)
    at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1678)
    at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:380)
    .
    .
    .
    at sun.reflect.GeneratedMethodAccessor101.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at org.apache.wink.server.internal.handlers.InvokeMethodHandler.handleRequest(InvokeMethodHandler.java:63)
    at org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:33)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
    at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
    at org.apache.wink.server.internal.handlers.CreateInvocationParametersHandler.handleRequest(CreateInvocationParametersHandler.java:54)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
    at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
    at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleSubResourceMethod(FindResourceMethodHandler.java:188)
    at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:110)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
    at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
    at org.apache.wink.server.internal.handlers.FindRootResourceHandler.handleRequest(FindRootResourceHandler.java:95)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
    at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
    at org.apache.wink.server.internal.handlers.HeadMethodHandler.handleRequest(HeadMethodHandler.java:53)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
    at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
    at org.apache.wink.server.internal.handlers.OptionsMethodWADLHandler.handleRequest(OptionsMethodWADLHandler.java:51)
    at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
    .
    .
    .
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1232)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:781)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:480)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1114)
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:940)
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316)
    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
    at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881)
[2/12/18 14:28:50:161 EET] 00000096 SystemOut     O 2018-02-12 14:28:50 ERROR TransactionRestService:85 - could not prepare statement
com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
    .
    .
    same above
[2/12/18 14:28:50:162 EET] 00000098 SystemOut     O 2018-02-12 14:28:50 DEBUG BasicResourcePool:2114 - Refurbishing idle resources - Mon Feb 12 14:28:50 EET 2018 [com.mchange.v2.resourcepool.BasicResourcePool@926084ea]
[2/12/18 14:28:50:162 EET] 00000098 SystemOut     O 2018-02-12 14:28:50 DEBUG ThreadPoolAsynchronousRunner:236 - com.mchange.v2.async.ThreadPoolAsynchronousRunner@4fc3c56c: Adding task to queue -- com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask@aa7c1b2
[2/12/18 14:28:50:162 EET] 00000098 SystemOut     O 2018-02-12 14:28:50 DEBUG BasicResourcePool:1747 - trace com.mchange.v2.resourcepool.BasicResourcePool@926084ea [managed: 2, unused: 1, excluded: 1] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@195f9907)
[2/12/18 14:28:50:162 EET] 00000099 SystemOut     O 2018-02-12 14:28:50 DEBUG C3P0PooledConnectionPool:448 - Testing PooledConnection [com.mchange.v2.c3p0.impl.NewPooledConnection@8da52587] on IDLE CHECK.
[2/12/18 14:28:50:162 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 DEBUG ThreadPoolAsynchronousRunner:236 - com.mchange.v2.async.ThreadPoolAsynchronousRunner@4fc3c56c: Adding task to queue -- com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@d092ae04
[2/12/18 14:28:50:163 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 DEBUG BasicResourcePool:1747 - trace com.mchange.v2.resourcepool.BasicResourcePool@926084ea [managed: 2, unused: 1, excluded: 1] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@195f9907)
[2/12/18 14:28:50:163 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 INFO  Connection:84 - beginConnection method called
[2/12/18 14:28:50:163 EET] 0000009b SystemOut     O 2018-02-12 14:28:50 DEBUG C3P0PooledConnectionPool:448 - Testing PooledConnection [com.mchange.v2.c3p0.impl.NewPooledConnection@d55cf62d] on CHECKIN.
[2/12/18 14:28:50:164 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 DEBUG BasicResourcePool:616 - Resource we want to check out is in idleCheck! (waiting until idle-check completes.) [com.mchange.v2.resourcepool.BasicResourcePool@926084ea]
[2/12/18 14:28:50:166 EET] 00000099 SystemOut     O 2018-02-12 14:28:50 DEBUG C3P0PooledConnectionPool:452 - Test of PooledConnection [com.mchange.v2.c3p0.impl.NewPooledConnection@8da52587] on IDLE CHECK has SUCCEEDED.
[2/12/18 14:28:50:166 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 DEBUG C3P0PooledConnectionPool:448 - Testing PooledConnection [com.mchange.v2.c3p0.impl.NewPooledConnection@8da52587] on CHECKOUT.
[2/12/18 14:28:50:166 EET] 0000009b SystemOut     O 2018-02-12 14:28:50 DEBUG C3P0PooledConnectionPool:452 - Test of PooledConnection [com.mchange.v2.c3p0.impl.NewPooledConnection@d55cf62d] on CHECKIN has SUCCEEDED.
[2/12/18 14:28:50:171 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 DEBUG C3P0PooledConnectionPool:452 - Test of PooledConnection [com.mchange.v2.c3p0.impl.NewPooledConnection@8da52587] on CHECKOUT has SUCCEEDED.
[2/12/18 14:28:50:171 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 DEBUG BasicResourcePool:1747 - trace com.mchange.v2.resourcepool.BasicResourcePool@926084ea [managed: 2, unused: 1, excluded: 1] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@195f9907)
[2/12/18 14:28:50:177 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 INFO  ServiceTransactionLogger:305 - validateTransactionLogEntity.getId : 927951
[2/12/18 14:28:50:178 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 INFO  Connection:84 - beginConnection method called
[2/12/18 14:28:50:178 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 INFO  Connection:84 - beginConnection method called
[2/12/18 14:28:50:194 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 INFO  Connection:114 - commit method called
[2/12/18 14:28:50:198 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 DEBUG SqlUtils:111 - Converting Throwable to SQLException...
java.lang.NullPointerException
    at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.maybeDirtyTransaction(NewProxyPreparedStatement.java:2520)
    at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.getMaxRows(NewProxyPreparedStatement.java:1403)
    at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:530)
    at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.release(JdbcCoordinatorImpl.java:407)
    at org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl.releaseStatements(AbstractBatchImpl.java:173)
    at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:76)
    at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3281)
    at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:3183)
    at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3525)
    at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:158)
    at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:453)
    at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:345)
    at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:350)
    at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:56)
    at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1218)
    .
    .
    .
[2/12/18 14:28:50:201 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 DEBUG ThreadPoolAsynchronousRunner:236 - com.mchange.v2.async.ThreadPoolAsynchronousRunner@4fc3c56c: Adding task to queue -- com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@b8c426fb
[2/12/18 14:28:50:202 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 DEBUG BasicResourcePool:1747 - trace com.mchange.v2.resourcepool.BasicResourcePool@926084ea [managed: 2, unused: 1, excluded: 1] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@195f9907)
[2/12/18 14:28:50:202 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 INFO  Connection:84 - beginConnection method called
[2/12/18 14:28:50:202 EET] 0000009a SystemOut     O 2018-02-12 14:28:50 DEBUG C3P0PooledConnectionPool:448 - Testing PooledConnection [com.mchange.v2.c3p0.impl.NewPooledConnection@8da52587] on CHECKIN.
[2/12/18 14:28:50:202 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 DEBUG C3P0PooledConnectionPool:448 - Testing PooledConnection [com.mchange.v2.c3p0.impl.NewPooledConnection@d55cf62d] on CHECKOUT.
[2/12/18 14:28:50:203 EET] 0000009a SystemOut     O 2018-02-12 14:28:50 DEBUG C3P0PooledConnectionPool:452 - Test of PooledConnection [com.mchange.v2.c3p0.impl.NewPooledConnection@8da52587] on CHECKIN has SUCCEEDED.
[2/12/18 14:28:50:206 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 DEBUG C3P0PooledConnectionPool:452 - Test of PooledConnection [com.mchange.v2.c3p0.impl.NewPooledConnection@d55cf62d] on CHECKOUT has SUCCEEDED.
[2/12/18 14:28:50:206 EET] 0000009c SystemOut     O 2018-02-12 14:28:50 DEBUG BasicResourcePool:1747 - trace com.mchange.v2.resourcepool.BasicResourcePool@926084ea [managed: 2, unused: 1, excluded: 1] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@195f9907)

1 个答案:

答案 0 :(得分:1)

由于unreturnedConnectionTimeout,可能会关闭连接()。尝试禁用该设置。

如果您发现设置已删除,则会因连接泄漏而导致池耗尽,请将debugUnreturnedConnectionStackTraces设置为true以便了解并修复连接泄漏。

如果您不能这样做,请延长unreturnedConnectionTimeout,以减少在应用程序仍可能打算使用它们时清除连接的可能性。

但修复Connection泄漏要好得多,然后完全关闭unreturnedConnectionTimeout