socket write exception이 발생하는 원인은 클라이언트 화면에서 요청을 하였는데, 서버에서 작업을 완료하여 클라이언트로 결과를 넘겨주기 이전에 클라이언트화면에서 재조회를 한다든지, 다른화면으로 이동하였다든지 하여서, 최초 요청한 정보가 사라졌기 때문에 서버입장에서는 작업결과를 전달할 곳이 없어서 발생하는 현상입니다.
이러한 증상은 시스템입장에서는 장애가 아닙니다. 단지 request,response 의 기본적인 작동에서 발생하는 경고성 로그라고 보시면 되며, 이러한 로그를 없애는 방법은 없습니다.(자바의 수행 로직상 기본적인 플로우안에 있는것이므로)
>게시판을 이용해 주셔서 감사합니다.
>다음양식에 맞게 입력해주세요.
>
>* 고객시스템명 : 온밀크
>* GAUCE 버전 :
>* WAS 종류(WebLogic 등등) : Tomcat5.x
>* DB 종류 : MS-SQL
>* 문의 유형(질문/요청/참조) : 질문
>* 내용 :
>다음과 같은 Exception이 발생합니다 RuntimeException이라 당장 시스템에 지장을 주지는 않는데
>이 로그가 엄청나게 쌓여 지속적으로 관리를 해주지 않으면 이 로그 용량만해도 꽤 커져버리네요.
>socket write error 는 왜 발생하는 것이고 어떻게 처리해야 합니까?
>
>java.lang.RuntimeException: Can not write GauceDataSet to Component!
> ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error
> at com.gauce.io.CommonResponse.bufferFilled(CommonResponse)
> at com.gauce.GauceDataSet.flush(GauceDataSet)
> at org.apache.jsp.service.account.sl_005fcustomerinpaylist_jsp._jspService(sl_005fcustomerinpaylist_jsp.java:382)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
> at com.imtsystem.framework.common.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:106)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
> 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.StandardContextValve.invokeInternal(StandardContextValve.java:198)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
> 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.StandardHostValve.invoke(StandardHostValve.java:137)
> at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> 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:793)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)
> at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)
> at java.lang.Thread.run(Thread.java:534)