¼Ò¼³ java.sql ¼Ò½ºÄڵ堠Advance JDBC ±¸Çö  ConnectionPooling±â¹ýÀÇ »ç¿ë  

ConnectionPooling±â¹ý »ç¿ëÀÇ ¿¹

ConnectionPool.java

import java.sql.*;
import 
java.util.*;
public class 
ConnectionPool {
  
private static ConnectionPool cp = null
;
  
private ConnectionFactory1 cf = null
;  
  
private Vector pool = null
;
  
private 
ConnectionPool() {
    cf = 
new 
ConnectionFactory1();
    pool = 
new 
Vector();
  }
  
public static synchronized 
ConnectionPool getInstance() {
    
if (cp == null
) {
      cp = 
new 
ConnectionPool();
    }
    
return 
cp;
  }
  
public synchronized Connection getConnection() throws 
SQLException {
    Connection conn = 
null
;
    
int 
size = pool.size();
    
if (size > 0
) {
      conn = (Connection)(pool.elementAt(
0
));
      pool.removeElementAt(
0
);
    }
else 
{
      conn = cf.getConnection(ConnectionFactory1.ODBC);
    }
    
return 
conn;
  }
  
public synchronized void 
releaseConnection(Connection conn) {
    pool.add(conn);
  }
}

C:\JavaExample\19>javac ConnectionPool.java

 µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» ¿©·¯°¡ ¸¸µé¾î³õ°í ¿©·¯ »ç¿ëÀÚ°¡ ÇÊ¿äÇÒ ¶§¸¶´Ù Çϳª¾¿ ²¨³»¼­ »ç¿ë ÇÏ°í ´Ù ¾´ ÈÄ »ç¿ëÇß´ø°ÍÀ» Áý¾î³Ö´Â(pooling)¹æ½Ä

¾Õ¿¡¼­ ¸¸µç ConnectionFactory1Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» ¾òÀº ´ÙÀ½ ´Ù¾çÇÑ È¯°æ¿¡ Àû¿ë



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°Àº¹Ì´ÏÄÚµå
ÀÛ¼ºÀÚ:Àںϸâ¹ö ÇÑâÇå