&引用;java.net.SocketException:Connection reset;有时在Tomcat本地主机日志上

&引用;java.net.SocketException:Connection reset;有时在Tomcat本地主机日志上,java,tomcat,socketexception,Java,Tomcat,Socketexception,这似乎是一个著名的问题。但我无法从谷歌那里找到一个简短的答案。 我有许多客户端通过Apache代理服务器连接到Tomcat服务器。有时,我在tomcat的localhost日志中看到这个错误。我想知道可能的原因是什么。在哪一点上,连接被“重置”?我对环境的访问有限,因此无法使用工具检查连接 java.net.SocketException: Connection reset at java.net.SocketOutputStream.socketWrite(SocketOutp

这似乎是一个著名的问题。但我无法从谷歌那里找到一个简短的答案。 我有许多客户端通过Apache代理服务器连接到Tomcat服务器。有时,我在tomcat的localhost日志中看到这个错误。我想知道可能的原因是什么。在哪一点上,连接被“重置”?我对环境的访问有限,因此无法使用工具检查连接

java.net.SocketException: Connection reset
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:96)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:740)
        at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:434)
        at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:349)
        at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:764)
        at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126)
        at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:573)
        at org.apache.coyote.Response.doWrite(Response.java:560)
        at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353)
        at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:434)
        at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:293)
        at org.apache.catalina.connector.OutputBuffer.writeByte(OutputBuffer.java:399)
        at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:77)
        at com.caucho.hessian.io.HessianOutput.printString(HessianOutput.java:898)
        at com.caucho.hessian.io.HessianOutput.writeString(HessianOutput.java:583)
        at com.caucho.hessian.io.JavaSerializer$StringFieldSerializer.serialize(JavaSerializer.java:412)
        at com.caucho.hessian.io.JavaSerializer.writeObject10(JavaSerializer.java:241)
        at com.caucho.hessian.io.JavaSerializer.writeObject(JavaSerializer.java:221)
        at com.caucho.hessian.io.HessianOutput.writeObject(HessianOutput.java:317)
        at com.caucho.hessian.io.ArraySerializer.writeObject(ArraySerializer.java:69)
        at com.caucho.hessian.io.HessianOutput.writeObject(HessianOutput.java:317)
        at com.caucho.hessian.io.JavaSerializer$FieldSerializer.serialize(JavaSerializer.java:315)
        at com.caucho.hessian.io.JavaSerializer.writeObject10(JavaSerializer.java:241)
        at com.caucho.hessian.io.JavaSerializer.writeObject(JavaSerializer.java:221)
        at com.caucho.hessian.io.ThrowableSerializer.writeObject(ThrowableSerializer.java:69)
        at com.caucho.hessian.io.HessianOutput.writeObject(HessianOutput.java:317)
        at com.caucho.hessian.io.HessianOutput.writeFault(HessianOutput.java:297)
        at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:190)
        at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:109)
        at org.springframework.remoting.caucho.Hessian2SkeletonInvoker.invoke(Hessian2SkeletonInvoker.java:94)
        at org.springframework.remoting.caucho.HessianExporter.invoke(HessianExporter.java:142)
        at org.springframework.remoting.caucho.HessianServiceExporter.handleRequest(HessianServiceExporter.java:70)
        at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
        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.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

谢谢

这意味着您正在向另一端已关闭的连接进行写入。浏览器总是这样做:用户在页面完全加载之前就离开了页面。不要担心。

可能只是由于路由器或网络问题导致连接中断。如果是这样的话,那么这种情况可能会不时发生。在这种情况下,客户机通过Hessian调用服务器。我很确定客户没有关闭连接。但是我不明白当通过Apache建立连接时会发生什么。@Loc:对等方肯定已经关闭了连接。这正是这个信息的意思。为什么是另一个问题。我设想有3个节点:客户端、Apache和Tomcat。这里的对等点可能是Apache吗?根据定义,对等点就是您连接到的任何东西。