«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
11-11 05:43
관리 메뉴

DevTzu

java.net.SocketException: Broken pipe 본문

study

java.net.SocketException: Broken pipe

DevTzu 2012. 5. 17. 21:36
반응형


Error Message

java.net.SocketException: Broken pipe


카페24를 통해 64bit JSP 광호스팅을 사용중에 있습니다.

그러나 서버 연결시 가끔씩 "java.net.SocketException: Broken pipe" 에러가 발생하는 경우가 있어 해결책을 찾아보았습니다.


이 증상은 connection idle time이 mysql wait_timeout을 지난후에 DB연결을 끊고자 할때 발생하는 에러로그라고 합니다.



디폴트로 세팅되어 있는 tomcat 서버 server.xml를 살펴보겠습니다.

 server.xml

<Resource name="jdbc/mytc5"

          auth="Container"

          type="javax.sql.DataSource"

          driverClassName="com.mysql.jdbc.Driver"

          url="jdbc:mysql://localhost/dbname"

          username="dbuser"

          password="dbpasswd"

          maxActive="20"

          maxIdle="10"

          maxWait="3000" />



이를 방지하기위해 connection이 일정 기간동안 사용되지 않으면 close되도록 설정하거나

connection 대여시에 connection을 체크하도록 server.xml을 변경하였습니다.

 server.xml

<Resource name="jdbc/mytc5"

          auth="Container"

          type="javax.sql.DataSource"

          driverClassName="com.mysql.jdbc.Driver"

          url="jdbc:mysql://localhost/dbname"

          username="dbuser"

          password="dbpasswd"

          maxActive="50"

          maxIdle="50"

          minIdle="10"

          maxWait="5000

          initialSize="10"

          validationQuery="SELECT 1"

          validationInterval="30000"

          testWhileIdle="true" />



다음과 같이 변경 후 tomcat 서버를 사용중에 있으나 위와 같은 증상은 다시 발생하지 않았습니다.

서버설정에 있어 모르는 부분이 많아 올바른 해결책이 되었는지는 모르겠습니다.

틀린 부분이 있으면 코멘트 남겨주시고, 저또한 계속해서 찾아보도록 하겠습니다.




참고 링크

http://blog.naver.com/clotho95/140142861915


반응형
Comments