기술지원 문의

connection poll 이 자꾸 차 버리는데요.. ^^
원경연 / 2003-05-22 00:00

늘 구체적인 답변에 감사드립니다...

Resin 으로 웹 호스팅을 받는데 resin db pool 을 이용하였습니다. 그런데 아래와 같은 connection poll 이 꽉찼다는 에러가 자주 나옵니다..
[2003/05/22 16:31:51] Cant open connection with full database pool (24)
java.sql.SQLException: Cant open connection with full database pool (24)

conf 파일에는

  db_namel
  javax.sql.DataSource
  
  
  
  
  
  



JSP 페이지마다 아래와 같은 방식으로 코드를 집어 넣어 connection 객체를 얻어 오고 있습니다..
그리고 그 Handler 란 클래스는 제일 밑에 있습니다..
connection 을 관리하는 다른 클래스를 돌려야 하는건지요.. 아님 JSP 페이지를 읽는 중간에 error가 나는경우에는 close()를 못하게 되는 건지요....
이렇게 프로그램을 해도 되는 건지요.. 조언 바랍니다..

(...페이지 시작..)
Handler handler = new Handler();
....
..
handler.handle (\"SELECT ......... \");
..
(..페이지 끝..)
handler.close();



import java.util.*;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;

public class Handler
{
private Context ic;
private DataSource ds;
private Connection conn;
private Statement stmt;

public Handler( ) throws SQLException,NamingException
{
ic = new InitialContext();
ds = (DataSource) ic.lookup(\"java:comp/env/db_name\");
conn = ds.getConnection();
stmt = conn.createStatement();
}

public void handle ( String sql ) throws SQLException
{
stmt.executeUpdate ( sql ) ;
}

public void close() throws SQLException
{
stmt.close();
conn.close();
}
}

Re:connection poll 이 자꾸 차 버리는데요.. ^^
관리자 / 2003-05-23 00:00

jsp안에서 직접 connection을 이용하고 close를 하던
bean을 이용하시던 그건 전적으로 개발자의 몫이구요.

jsp에서도 tyr catch finally를 이용 finally블럭에서
connection을 끊어주시면 되구요.

이런 종류의 고심들과 관련해서 JAVA관련자료실에
javaservice.net의 이원영님의 글을 퍼다
놓은 것이 있는데 이 글들을 한번 읽어보시면 
좋을 것 같습니다.



--원경연 님의 글 [2003-05-22 21:43:14]
>늘 구체적인 답변에 감사드립니다...

Resin 으로 웹 호스팅을 받는데 resin db pool 을 이용하였습니다. 그런데 아래와 같은 connection poll 이 꽉찼다는 에러가 자주 나옵니다..
[2003/05/22 16:31:51] Cant open connection with full database pool (24)
java.sql.SQLException: Cant open connection with full database pool (24)

conf 파일에는

  db_namel
  javax.sql.DataSource
  
  
  
  
  
  



JSP 페이지마다 아래와 같은 방식으로 코드를 집어 넣어 connection 객체를 얻어 오고 있습니다..
그리고 그 Handler 란 클래스는 제일 밑에 있습니다..
connection 을 관리하는 다른 클래스를 돌려야 하는건지요.. 아님 JSP 페이지를 읽는 중간에 error가 나는경우에는 close()를 못하게 되는 건지요....
이렇게 프로그램을 해도 되는 건지요.. 조언 바랍니다..

(...페이지 시작..)
Handler handler = new Handler();
....
..
handler.handle (\"SELECT ......... \");
..
(..페이지 끝..)
handler.close();



import java.util.*;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;

public class Handler
{
private Context ic;
private DataSource ds;
private Connection conn;
private Statement stmt;

public Handler( ) throws SQLException,NamingException
{
ic = new InitialContext();
ds = (DataSource) ic.lookup(\"java:comp/env/db_name\");
conn = ds.getConnection();
stmt = conn.createStatement();
}

public void handle ( String sql ) throws SQLException
{
stmt.executeUpdate ( sql ) ;
}

public void close() throws SQLException
{
stmt.close();
conn.close();
}
}