2017-04-17 50 views
0

我有這個錯誤,當我想做一個查詢,一切工作正常,在我的應用程序,直到晚上8點,但在上午3時,當我查詢到基地響應該連接不存在,況且我不能複製的錯誤在開發環境中我得到java.sql.SQLException:連接不存在

2017-04-09 20:23:01 | 6185 | 76 | LogSystemBS | println >> finalizo proceso 
de ejecucion de proceso con id= 4 con intentos= 1 
2017-04-10 03:50:41 | 6185 | 5890 | LogSystemBS | println >> en la funcion 
configurarFabrica 7887 
2017-04-10 03:50:41 | 6185 | 5890 | LogSystemBS | println >> en la fabrica del: fabricaSistemaSeguros 
2017-04-10 03:50:41 | 6185 | 5890 | LogSystemBS | println >> fecha 10/04/2017 
2017-04-10 03:50:41 | 6185 | 5890 | LogSystemBS | println >> nueva fecha 20170410 
2017-04-10 03:50:41 | 6185 | 5890 | LogSystemBS | println >> ****** 
parametros enviados a entorno***** 
2017-04-10 03:50:41 | 6185 | 5890 | LogSystemBS | println >> NPE--->048400000083960104217047 
2017-04-10 03:50:41 | 6185 | 5890 | LogSystemBS | println >> fecha--->20170410 
2017-04-10 03:50:41 | 6185 | 5890 | LogSystemBS | println >> aviso--->0 
java.sql.SQLException: The connection does not exist. 
at com.ibm.as400.access.JDError.throwSQLException(JDError.java:382) 
at com.ibm.as400.access.AS400JDBCConnection.checkOpen(AS400JDBCConnection.java:387) 
at com.ibm.as400.access.AS400JDBCConnection.send(AS400JDBCConnection.java:2239) 
at com.ibm.as400.access.AS400JDBCStatement.close(AS400JDBCStatement.java:471) 
at org.apache.tomcat.dbcp.dbcp.DelegatingStatement.close(DelegatingStatement.java:168) 
at org.apache.tomcat.dbcp.dbcp.DelegatingStatement.close(DelegatingStatement.java:168) 
at com.hsbc.sv.desarrollo.interconexion.impl.jdbcbasico.ServicioJDBCResultSet.ejecutar(ServicioJDBCResultSet.java:82) 
at com.hsbc.sv.desarrollo.interconexion.Servicio.invocar(Servicio.java:150) 
at com.hsbc.sv.desarrollo.interconexion.FabricaServicios.operacion(FabricaServicios.java:410) 
at com.hsbc.sv.desarrollo.interconexion.FabricaServicios.obtenerDatos(FabricaServicios.java:357) 
at com.hsbc.sv.desarrollo.interconexion.remoto.Escuchador.obtenerResultados(Escuchador.java:42) 
at com.j2ee.sv.j2entorno.escuchador.servlets.http.OperacionesEscuchador$2.operacion(OperacionesEscuchador.java:61) 
at com.j2ee.sv.j2entorno.escuchador.servlets.http.EscuchadorHTTPEntorno.doPost(EscuchadorHTTPEntorno.java:58) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:626) 
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
at java.lang.Thread.run(Thread.java:780) 
java.sql.SQLException: Already closed. 
at org.apache.tomcat.dbcp.dbcp.PoolableConnection.close(PoolableConnection.java:114) 
at org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:191) 
at com.hsbc.sv.desarrollo.interconexion.impl.jdbcbasico.ServicioJDBCResultSet.ejecutar(ServicioJDBCResultSet.java:87) 
at com.hsbc.sv.desarrollo.interconexion.Servicio.invocar(Servicio.java:150) 
at com.hsbc.sv.desarrollo.interconexion.FabricaServicios.operacion(FabricaServicios.java:410) 
at com.hsbc.sv.desarrollo.interconexion.FabricaServicios.obtenerDatos(FabricaServicios.java:357) 
at com.hsbc.sv.desarrollo.interconexion.remoto.Escuchador.obtenerResultados(Escuchador.java:42) 
at com.j2ee.sv.j2entorno.escuchador.servlets.http.OperacionesEscuchador$2.operacion(OperacionesEscuchador.java:61) 
at com.j2ee.sv.j2entorno.escuchador.servlets.http.EscuchadorHTTPEntorno.doPost(EscuchadorHTTPEntorno.java:58) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:626) 
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
at java.lang.Thread.run(Thread.java:780) 
+1

使用連接池,你只需添加validationQuery=」SELECT CURRENT DATE FROM sysibm.sysdummy1」我的context.xml ?如果是的話,你的服務器可能會消除空閒的連接(或重新啓動數據庫服務器)。您是否爲連接池配置了驗證查詢,以便在將連接提供給您的webapp之前檢查該查詢?如果沒有,那就這樣做。 – Andreas

+0

'<資源 \t \t名稱= 「JDBC/DB2_IBS_BSV」 \t \t AUTH = 「容器」 \t \t類型= 「javax.sql.DataSource中」 \t \t用戶名= 「*******」 \t \t密碼= 「******」 \t \t driverClassName = 「com.ibm.as400.access.AS400JDBCDriver」 \t \t URL = 「JDBC:AS400:// SV4013CB /」 \t \t maxActive = 「50」 \t \t maxIdle =「30」 />' –

+1

嘗試添加'testOnBorrow =「true」'我也使用:'removeAbandoned =「true」removeAbandonedTimeout =「60」logAbandoned =「true」' – Dam

回答

0

感謝您的幫助,它的工作原理

相關問題