qq237484840 2011-11-18 18:03
浏览 277
已采纳

数据库死锁了,tomcat日志有些不明白.请教各位大大

锁住的进程时间是16:10分左右,tomcat错误报告里边只有这个 是这个时间段的.
基本上就判断是这个.但是有些看不懂,是哪里出了问题。。“/pagenotfound.html”是我定义的一个404错误跳转页面。

2011-11-18 16:12:20 org.apache.catalina.core.StandardHostValve@7038b9: Exception Processing ErrorPage[errorCode=404, location=/pagenotfound.html]
ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error
at org.apache.coyote.tomcat5.OutputBuffer.doFlush(OutputBuffer.java:331)
at org.apache.coyote.tomcat5.OutputBuffer.flush(OutputBuffer.java:297)
at org.apache.coyote.tomcat5.CoyoteResponse.flushBuffer(CoyoteResponse.java:537)
at org.apache.coyote.tomcat5.CoyoteResponseFacade.flushBuffer(CoyoteResponseFacade.java:238)
at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:303)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:147)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)

  • 写回答

4条回答 默认 最新

  • khan7923 2011-11-18 23:04
    关注

    这么说问题就很明显了,conn是必须关闭的,不管你是在什么地方,try里面还是在finally里面必须要有的,如果是连接池,也要放回连接池啊,有的连接池有机制,有时间片的限制,就是有future的特性,如果在一定时间长度还没用完就会收回,不知道你的是什么情况,还有就是有的时候,如果你不是连接池,conn因为方法异常没执行完,但是这个conn没有释放,因为你的session还在或者是里面的statment还在,或者rs还在用,导致还是有引用指向conn,这样这个对象的引用数不是0,这样在jvm进行GC的时候,不会对内存的回收,这个对象一直占用连接,导致不会释放连接。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥20 jupyter保存图像功能的实现
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键