2011-04-19 90 views
3

這似乎是一個着名的問題。但我找不到Google的簡短回答。 我有很多客戶端通過Apache代理服務器連接到Tomcat服務器。有時候,我在tomcat的localhost日誌上看到這個錯誤。我想知道什麼是可能的原因。在哪一點,連接是「重置」?我有限的訪問環境,所以我不能使用工具來檢查連接。「java.net.SocketException:連接重置」有時在Tomcat本地主機日誌上

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) 

感謝

+0

可能是由於路由器或網絡問題而丟失的連接。如果是這樣,這種情況會不時發生。 – 2011-04-19 07:11:01

回答

1

它只是意味着你正在編寫一個已經被另一端關閉連接。瀏覽器始終這樣做:在完全加載之前,用戶從頁面導航離開頁面。不要擔心。

+0

在這種情況下,客戶端通過Hessian調用服務器。我確信客戶沒有關閉連接。但我不明白通過Apache進行連接時會發生什麼。 – 2011-04-19 07:16:38

+0

@Loc:對等體*肯定*關閉連接。這正是這個信息的意思。爲什麼是另一個問題。 – EJP 2011-04-19 08:06:33

+0

我想有3個節點:客戶端,Apache和Tomcat。這裏的同行可以成爲Apache嗎? – 2011-04-19 08:45:06

相關問題