프로젝트 도중에 거래가 hang 걸리는 현상이 발생되어서 당황했다. 원인을 분석해 본 결과 소켓 통신하는 루틴에서 상대방 서버의 사정으로 접속이 지연될 때 timeout 처리가 제대로 되지 않아서 발생되었다. 처음에는 DB 쪽 lock 인 줄 알고 transaction 처리를 잘못 해서 나는 것으로 보고 접근했으나 원인은 엉뚱한데 있었던 것이다. 그래서 urlConnection.setConnectTimeout(); 메소드에 1초로 세트했다. 그랬더니 바로 지연 없이 exception 으로 떨어졌다. 자라보고 놀란 가슴 솥뚜껑 보고 놀란다고 하는 김에 readTimeout 도 아래와 같이 설정했다. urlConnection.setReadTimeout(TIMEOUT_VALUE); 이 때 설정하는 시간은 mi..