2013-05-28 3 views
5

나는이 문제를 해결하는 데 도움이 될 수의때때로 java.net.SocketTimeoutException : 읽기 시간 초과. 때로는하지

java.net.SocketTimeoutException: Read timed out 

그리고 어쩌면 사람이 이상한 오류가 있습니다.

사실은 이클립Tomcat v7으로 작업하고 있습니다. 그럼 난 내 서버 -> 톰캣 v7.0-> 제한 시간에

Debugger timeout(ms):3000 
Launch timeout(ms):20000 

을 내 윈도우 -> 환경 설정 -> 자바 -> 디버그에서

_call.setTimeout(3500); 

이 기능을 실행 내가 내 WebService를 실행할 때, 때로는 완벽하게 작동합니다, 지금

Start(in seconds): 45 
Stop(in seconds): 15 

이, 때때로 나는 RemoteException e2: java.net.SocketTimeoutException: 재를 얻을 수 광고 시간 초과

Timeout을 올바르게 설정 했습니까? 변경하려고했기 때문에 스틸이 동일하게 발생하므로 가끔 오류가 발생하는 경우가 있으며 때로는이 아닙니다.

+0

나는 같은 이슈를 가지고있다 .. 타임 아웃 기간을 늘려도, 나는 여전히이 예외에 직면 해있다 ... 달성했다면 당신의 해결책을 게시해라. –

+1

기록을 위해 이것은 관련이 없지만 내가 직면 한 문제의 관찰이다. 같은 오류가 발생하여 Tomcat에서 실수로 300 %의 CPU를 차지하는 MySQL 데이터베이스를 다시 인덱싱했습니다. 우리 서비스에 대한 의미있는 연결은 SocketTimeOutErrors를 던졌습니다 ... 비슷한 점이 내가 상상하는 다른 Tomcat 서버에서 문제를 일으킬 수 있습니다. 이 문제를 해결하기 위해 우리는 분명히 그 과정을 죽였습니다. –

답변

0

분명히 당신이하는 통화가 완료되기까지 3.5 초 이상 걸리는 경우가 있습니다. 이 경우 SocketTimeoutException을 얻는 것이 예상되는 동작입니다.

+0

'_call.setTimeout (xxxx)'를 늘려도 여전히 문제가 있습니다. '_call.setTimeout (xxxx)'는 ** Debugger timeout **과 ** Launch timeout ** 사이에 있어야합니다. – Bender

+0

많은 가능성이 있으며 설정에 대한 모든 관련 세부 정보를 여기에 질문하기가 어렵습니다. 직접 도움을 줄 수있는 사람을 찾아야합니다. –

+0

나는 그 논리라고 생각했지만, '_call.setTimeout (3000 또는 6000 등) '을 변경하려고 시도하고 항상 webservice를 작성하지만 때로는이 예외를 제공하지도 않고 때로는 이해할 수없는 이유도 있습니다. ** 디버거 시간 초과 및 Launch timeout **을 maximun 또는 minimun 가능성에 두는 것은 여전히 ​​발생합니다. 나는이 예외와 아무것도에 관하여이 공개 토론에있는 다른 질문을 본다 – Bender