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ÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°Àº¹Ì´ÏÄÚµå ÀÛ¼ºÀÚ:Àںϸâ¹ö ÇÑâÇå |