1. db연결 정보는 다음과 같습니다. classes 아래 db.properties 를 만들어서 읽어 오구요.
-------db.properties-----------------------------------
hostname.url=jdbc:sybase:Tds:xxx.xxx.xxx.xxx:9000/DBNAME
hostname.maxconn=0
hostname.user=user
hostname.password=pwd
------------------------------------------------------
2. Pool 은 다음과 같이 가져 옵니다.
public abstract class AbstractDB {
private DBConnectionManager connMgr;
protected Connection conn;
public AbstractDB () {
}
public Connection getConnection() throws SQLException {
Connection con=null;
connMgr = DBConnectionManager.getInstance();
return connMgr.getConnection("hostname");
}
public void closeConnection (Connection conn) throws SQLException {
conn.close();
// connMgr.freeConnection("hostname", conn);
}
}// end of class
3. 리스트 에러 화면
4. 질문
2번과 같이 Pool소스를 이용해 Connection을 가져 옵니다.
문제는 2번 항목의 connMgr.freeConnection("hostname", conn); 부분인데요.
DBConnectionManager 를 사용해서 connection을 반납하면 모든 db연결부분에서 위와같이
5개까지만 리스트를 가져 와집니다(모든 db연결에세발생).
물론 전체 카운트를 구하는 부분에서는 정상적으로 가져와 지기 때문에 위와 같이 페이지는 정상적으로 표시 되구요
현재 페이지의 리스트만 5개가 가져와 지는 겁니다.
2번 항목의 conn.close(); 를 사용해 connection을 반납하면 정상적으로 작동 하구요.
이곳은 개발 중인 서버구요 운영중인 서버에서도 동일한 결과가 나오고 있기에 정상적인 Pool을 사용하고 있지 못합니다.
5. 서버 정보
SunOne Web Server 6.1.3sp3
Sybase 12.5.2 ASE
JDK 1.4.2
많은 답변 부탁 드립니다. 짧은 의견이라도 꼭 올려 주세요.
수고하세요.
|