第一次连接db2时,出现超时情况

bug描述:在几天没连接数据库后,突然连接数据库,比如说,2月1日--2月5日都没有连接数据库,在2月6日连接数据库并且往里面插入数据时,会出现连接超时的情况。而且只有第一次连接超时,也就是说在连接超时之后的几分钟,就会恢复正常。下面是我的后台报的错:2011 SQL:insert into joy.sy...显示全部
bug描述:在几天没连接数据库后,突然连接数据库,比如说,2月1日--2月5日都没有连接数据库,在2月6日连接数据库并且往里面插入数据时,会出现连接超时的情况。而且只有第一次连接超时,也就是说在连接超时之后的几分钟,就会恢复正常。下面是我的后台报的错:
2011 SQL:insert into joy.systh(linedate,linetime,linephone,phonereserved,endstatus,status,type) values (?,?,?,?,?,?,?)
com.ibm.db2.jcc.c.DisconnectException: [ibm][db2][jcc][t4][2030][11211] A communication error has been detected. Communication protocol being used: TCP/IP.
Communication API being used: SOCKETS.  Location where the error was detected: T4Agent.sendRequest().
Communication function detecting the error: OutputStream.flush().  Protocol specific error codes Connection timed out, *, 0.  Message: Connection timed out

at com.ibm.db2.jcc.b.a.a(a.java:362)

at com.ibm.db2.jcc.b.a.y(a.java:331)

at com.ibm.db2.jcc.b.a.l(a.java:289)

at com.ibm.db2.jcc.c.j.c(j.java:253)

at com.ibm.db2.jcc.c.gg.d(gg.java:2257)

at com.ibm.db2.jcc.c.gg.W(gg.java:457)

at com.ibm.db2.jcc.c.gg.executeUpdate(gg.java:440)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)

at flow.subflow.CallbackOrWait_PS.save2.servletImplementation(save2.java:73)

at com.avaya.sce.runtime.BasicServlet.handleRequest(BasicServlet.java:99)

at com.avaya.sce.runtime.AppServlet.processRequest(AppServlet.java:75)

at com.avaya.sce.runtime.SCEServlet.requestHandler(SCEServlet.java:247)

at com.avaya.sce.runtime.SCEServlet.doPost(SCEServlet.java:165)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)

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.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

at java.lang.Thread.run(Thread.java:619)
Caused by: java.net.SocketException: Connection timed out

at java.net.SocketOutputStream.socketWrite0(Native Method)

at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)

at java.net.SocketOutputStream.write(SocketOutputStream.java:136)

at com.ibm.db2.jcc.b.jb.b(jb.java:1631)

at com.ibm.db2.jcc.b.jb.a(jb.java:1606)

at com.ibm.db2.jcc.b.a.y(a.java:325)

... 25 more
java.sql.SQLException: Already closed.

at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:77)

at org.apache.commons.dbcp.PoolingDriver$PoolGuardConnectionWrapper.close(PoolingDriver.java:240)

at flow.CMBTravelHotel.freeConnection(CMBTravelHotel.java:178)

at flow.subflow.CallbackOrWait_PS.save2.servletImplementation(save2.java:88)

at com.avaya.sce.runtime.BasicServlet.handleRequest(BasicServlet.java:99)

at com.avaya.sce.runtime.AppServlet.processRequest(AppServlet.java:75)

at com.avaya.sce.runtime.SCEServlet.requestHandler(SCEServlet.java:247)

at com.avaya.sce.runtime.SCEServlet.doPost(SCEServlet.java:165)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)

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.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

at java.lang.Thread.run(Thread.java:619)收起
参与11

查看其它 9 个回答627770633的回答

627770633627770633IT支持上海沪嘉讯网络技术有限公司
回复 2# wp285562
telnet到server上,sql是没有问题的。
报错之后,再执行另外的操作,就能连接上了,只有第一次连接会连接超时。
IT分销/经销 · 2012-02-02
浏览2664

回答者

627770633
IT支持上海沪嘉讯网络技术有限公司

回答状态

  • 发布时间:2012-02-02
  • 关注会员:1 人
  • 回答浏览:2664
  • X社区推广