안녕하세요 JSP 이제 막 구현하기 시작한 초보입니다..
우선 로직부터 보여드리겠습니다
A.jsp
1.Connection conn = DriverManager.getConnection //객체할당
2.Statement stmt = conn.createStatement(); //객체할당
3.ResultSet rs = stmt.excuteQuery("SQL문") //객체할당
4.re.getString //ResultSet을 이용해 DB 값 받아오기
5.if(rs!=null){try{rs.close()}catch(SQLException e){}} //할당해제
6.if(stmt!=null){try{stmt.close()}catch(SQLException e(){}} //할당해제
7.if(conn!=null){try{conn.close()}catch(SQLException e(){}} //할당해제
8.Thread.sleep(2000) //2초대기
9.HttpURLConnection conn1 = (HttpURLConnection) ("A.jsp"경로).openConnection(); //jsp재 호출을 위한 객체할당
10. if (conn1 != null) {
11. conn1.setConnectTimeout(10)
12. conn1.setReadTimeout(10)
13. conn1.setUseCaches(false)
14. conn1.setDoOutput(false)
15. if (conn1.getResponseCode() == HttpURLConnection.HTTP_OK) {}}
16.}catch (IOException e) { out.println(e.toString())
17.}finally{if(conn1 != null){try{conn1.disconnect()}catch(Exception e){}}}
이상입니다. 간단히 요약해서 jsp안에서 jsp를 재호출하는 로직입니다. 결과적으로 2초마다 DB값을 판별하고 적절한 행동을 취하게 됩니다.
하지만 문제는 하루종일 잘 돌아가다도 12시간을 넘기질 못하더군요...
아래는 에러내용입니다
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: User DB이름 already has more than 'max_user_connections' active connections
예 압니다 max_user_connection에러는 톰켓서버-lib에서 설정값을 바꿔주면 된다지요? 참고로 지금은 100입니다.
하지만 위 로직을 실행하면 전부 할당 해제를 해주고 있음에도 불구하고 이러한 에러가 나는겁니다.
JDBC에러로 봐서는 URLConnection은 상관이 없다는건데.. 로그를 찍어봐도 전부 closs나 disconnect가 잘 되고 있습니다.
반복을 해주면서 할당해제가 안되었다는 뜻일텐데.. 뭐가문제인지 모르겠습니다...ㅜㅜ 조언이나 어떤게 에러를 유발하는지 추측좀 부탁드려도 될까요?
아니면 서버를 감시하는 다른 방법이나 다른 언어같은게 있다면 알려주세요ㅠㅠ 이거때문에 슬럼프가왔습니다.. 공부를 다시해야하는지..