[질문] ConnectionPooling에 대해 질문이 있어요!!!
라라
요즘 자바와 서블릿을 이용하여 프로그램을 작성하고 있습니다..
JDBC를 이용해서 만드는 건데요..
일단 MS-SQL과 ORACLE을 같이 혹은 둘중 하나가 죽더라도 데이터는 어느 한쪽에 저장이 될수있는 형식으로 해볼려는데요..
위의 방식을 생각하고 여러 책과 인터넷을 뒤져보니까..
ConnectionFactory와 Connection Pooling에서 변수를 지정시켜주면 된다는 데요..
어찌 제가 하면 어느 한쪽에만 잡히는 현상이 일어납니다..
그리고 여러 책에서 ConnectionFactory는 거의 비슷하나.. Connection Pooling을 담당하는 소스는 좀 다르더군요..
한번 그 소스 한번 봐주시겠어요??
package db;
import java.sql.*;
import java.util.*;
public class ConnectionPool
{
private static ConnectionPool cp = null;
private ConnectionFactory mgr = null;
private Vector pool = null;
private ConnectionPool(){
mgr= new ConnectionFactory();
pool = new Vector();
}
public static synchronized ConnectionPool getInstance() {
if(cp == null){
cp = new ConnectionPool();
}
return cp;
}
public synchronized Connection getConnection() throws SQLException{
Connection con = null;
int size = pool.size();
if (size0)
{
con = (Connection)(pool.elementAt(0));
pool.removeElementAt(0);
} else {
con = mgr.getConnection(ConnectionFactory.ODBC);
}
return con;
}
public synchronized void releaseConnection(Connection con){
pool.add(con);
}
}
참고로 위의 소스를 이용하여 프로그램을 돌리면 ODBC밖에 가동이 안되네요..
무슨 방법이 없을까요?
참고로 ConnectionFactory에서 1을 ODBC 2를 ORACLE로 잡아두었습니다..
필요하시면 ConnectionFactory도 올리겠습니다.
-
쌍둥이자리
그냥 개인적인 말씀이지만 ms-sql 이나 oracle 이 둘중에 하나를 쓰다가 하나가 죽으면
다른걸 쓰는 경우는 없을듯 하네요. 사실 DB 는 버전이 새로 나와도 업글을 거의 하지 않는데다가
ms 와 oracle 이 100% 호환된다고 장담도 못하고... 그리고 DB 도 하나 죽을것을 대비해서
소프트웨어적, 하드웨어적 미러링을 사용하기 땀시... 걍 잡담이었습니다...