2013-07-02 1 views
0

내 소켓 연결에 Netty3.5.9 (jdk1.6.43)를 사용하고 있습니다. 대부분 잘 작동하지만 때로는 다음과 같이 표시됩니다.Netty throw IOException : 원격 소켓 연결이 해당 소켓에 의해 재설정되었습니다.

때 java.io.IOException : 원격 소켓 연결은 그 소켓

at sun.nio.ch.FileDispatcher.read0(Native Method) 

at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:33) 

at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:234) 

at sun.nio.ch.IOUtil.read(IOUtil.java:201) 

at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:236) 

at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:321) 

at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:280) 

at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:200) 

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:896) 

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) 

at java.lang.Thread.run(Thread.java:735) 

2013년 7월 2일 8시 54분 18초 org.jboss.netty.channel.SimpleChannelUpstreamHandler 널 WARNING 재설정 하였다 : 적절한 처리를 위해 cfca.xfraud.collector.system.sockettype.netty.NettyAnalyzerHandler.exceptionCaught()를 구현하십시오. 내 exceptionCaught() 메소드가

:

공공 무효 exceptionCaught이 (ChannelHandlerContext CTX는, ExceptionEvent 전자)가 발생 예외 {

log.error("", e.getCause()); 
    super.exceptionCaught(ctx, e); 

} 

IOException가 때때로 보여 주지만, 전체 응용 프로그램이 보이지만에는 어떤이 없습니다 악영향과 스틸이 잘 작동하기 때문에 실제 문제는 무엇이며 예외를 방지하려면 코드를 어떻게 변경해야합니까?

+0

실제로 "java.io.IOException : 원격 소켓과의 연결이 해당 소켓에 의해 재설정되었습니다"라고 말합니까? 또는 "피어에 의한 연결 재설정"이라고 말합니까? – EJP

+0

정말 "java.io.IOException : 원격 소켓 연결이 해당 소켓에 의해 재설정되었습니다."라고 말합니다. – user1793814

답변

0

이것은 걱정할 필요가 없습니다. 원격 피어가 연결을 종료하고 읽기가 완료되면이를 감지합니다. 따라서 예외를 무시하는 것이 안전합니다.

+0

그래, 고마워,하지만이 예외 로그를 ​​로그 파일에 쓰지 못하게하려면 어떻게해야합니까? 결국, 나는이 excepiton words ... – user1793814

+0

을 무시하고 불편 함을 느끼게하고 exceptionCaught (...)를 무시하고 그들을 삼킨다? –

관련 문제