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)
使用连接池,你只需添加
validationQuery=”SELECT CURRENT DATE FROM sysibm.sysdummy1”
我的context.xml ?如果是的话,你的服务器可能会消除空闲的连接(或重新启动数据库服务器)。您是否为连接池配置了验证查询,以便在将连接提供给您的webapp之前检查该查询?如果没有,那就这样做。 – Andreas'<资源 \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” />' –
尝试添加'testOnBorrow =“true”'我也使用:'removeAbandoned =“true”removeAbandonedTimeout =“60”logAbandoned =“true”' – Dam