'Server'에 해당되는 글 2건

웹개발시 Tomcat WAS를 사용하다 보면 아래와 같은 예외가 발생할 때가 있다.

java.net.SocketTimeoutException: Read timed out

이 예외의 스택을 추적했을때 나의 경우 아래와 같은 예외스택을 뿌려주고 있었다.

    at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:751)
   at org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:781)
   at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:116)
   at org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:710)
   at org.apache.coyote.Request.doRead(Request.java:428)
   at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:304)
   at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:405)
   at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:327)
   at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:162)
   at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1025)
   at org.apache.commons.io.IOUtils.copy(IOUtils.java:999)
   at org.apache.commons.io.IOUtils.toByteArray(IOUtils.java:218)

결국 예외 스택의 가장 위의 java.net.SocketInputStream.socketRead0  이 메서드가 실행이 될때 예외가 발생한 것인데

이는 소켓에서 Stream을 읽을때 Stream의 전송이 끊겨 발생한 예외이다.

여기 저기 찾아보았을때의 해결방법은 server.xml파일의 Connector의 connectionTimeout속성 값을 늘려주면 된다.

기본으로 20000(ms단위)로 되어있어서 보통은 바꿔주지 않아도 되지만 가끔 자신의 개발컴퓨터에서 서버를 돌리면서 개발을 할때 이 예외가 발생하기도 한다.(그때는 망설임없이 바꿔주자!)

나중에 apache와 연동할때에 이
connectionTimeout 속성 값을 서로 맞춰주어야 한다고 나와있기는 한데
그건 그때가서 신경쓸 문제고.-_-;;

신고

'Server' 카테고리의 다른 글

Tomcat Configuration (connectionTimeout 속성)  (0) 2010.03.03
Tomcat startup  (0) 2009.06.20
블로그 이미지

웹오피스 개발자 피스티스

사이냅소프트에서 웹오피스를 개발하고 있습니다.

Tomcat startup

Server 2009.06.20 18:14
이클립스로 Tomcat을 startup하거나 bat으로 startup할때 꼭 뜨는 메세지가 있다.

"The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path 시스템패스값..."

해결방법은 http://tomcat.heanet.ie/native/ 이 사이트에서 최신버젼폴더로 이동

binaries -> 자신의 시스템에 맞는 폴더 선택(나의 경우 win32) -> tcnative-1.dll 이 파일을 다운로드 받아서

패스에 파일 위치시킨다.

아마도 이 dll파일이 tomcat의 native library와 관련이 있는 것 같은데 자세한건 모르니 일단 패스 ㅋ
신고

'Server' 카테고리의 다른 글

Tomcat Configuration (connectionTimeout 속성)  (0) 2010.03.03
Tomcat startup  (0) 2009.06.20
블로그 이미지

웹오피스 개발자 피스티스

사이냅소프트에서 웹오피스를 개발하고 있습니다.