2017-04-17 55 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

感谢您的帮助,它的工作原理

相关问题