¿ø¹®Ãâó : http://www.javastudy.co.kr/docs/webdox/DBPool.htm
WebDox.co.kr
Database Á¢¼ÓÀ» Pool·Î °ü¸®ÇÏÀÚ
±è¼¼°ï <sehkone@bawi.org>
2000³â 4¿ù 20ÀÏ
°³¿ä
µ¥ÀÌÅͺ£À̽ºÀÇ ¼º´É
±Ù·¡ÀÇ À¥ °³¹ßÀ» ºñ·ÔÇÑ ¸ðµç °³¹ß¿¡ ÀÖ¾î¼ µ¥ÀÌÅͺ£À̽º »ç¿ëÀº ÇʼöÀûÀÌ´Ù. ÀÌ¿¡ µû¶ó, ´ëºÎºÐÀÇ À¥ °³¹ß ¼Ö·ç¼Ç(Java, CGI(ASP, PHP, Perl))Àº µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýµéÀ» Á¦½ÃÇÏ°í ÀÖ´Ù. µ¥ÀÌÅͺ£À̽º´Â µ¥ÀÌÅÍ °ü¸®¿¡ ÀÖ¾î¼ ÆÄÀÏ Ã³¸®¿¡ ºñÇØ ºñ±³ÇÒ ¼ö ¾ø´Â ¼öÁØÀ¸·Î °£ÆíÇÏ°í °·ÂÇÑ ¹æ¹ýÀ» Á¦°øÇϴµ¥ ¹ÝÇØ, ¼öÇà ¼º´ÉÀº µ¥ÀÌÅͺ£À̽º¸¦ ¾î¶»°Ô »ç¿ëÇÏ´À³Ä¿¡ µû¶ó ÆíÂ÷°¡ ½ÉÇÒ ¼ö ÀÖ´Ù. À¥ »çÀÌÆ® ¿î¿µ¿¡ ÀÖ¾î¼ ¼º´ÉÀÇ ´ëºÎºÐÀº µ¥ÀÌÅͺ£À̽º ¿î¿µ¿¡¼ °áÁ¤ÀÌ ³ª¸ç, ½É°¢ÇÑ °æ¿ì µ¥ÀÌÅͺ£À̽º°¡ º´¸ñÀÌ µÇ¾î À¥ »çÀÌÆ® Àüü°¡ ´À·ÁÁö´Â Çö»óÀÌ »ý±æ ¼öµµ ÀÖ´Ù. µû¶ó¼, À¥ »çÀÌÆ® °³¹ßÀÚ ¹× ¿î¿µÀÚ´Â ¾ðÁ¦³ª µ¥ÀÌÅͺ£À̽º°¡ ÃÖ»óÀÇ ¼º´ÉÀ» ¹ßÈÖÇÒ ¼ö ÀÖµµ·Ï ÃÖ¼±À» ´ÙÇØ¾ß ÇÑ´Ù.
µ¥ÀÌÅͺ£À̽ºÀÇ ¼º´ÉÀ» Çâ»óÇϱâ À§Çؼ´Â ¿©·¯°¡Áö ±â¹ýÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¹°¸®ÀûÀ¸·Î´Â µ¥ÀÌÅͺ£À̽º¸¦ ºÐ»ê ¿î¿µÇÏ´Â ¹æ¹ýÀÌ ÀÖÀ» ¼ö ÀÖÀ¸¸ç, µ¥ÀÌÅͺ£À̽º ½ºÅ°¸¶¸¦ Àß ¼³°èÇÏ´Â °ÍÀ¸·Î¼ ¸¹Àº È¿°ú¸¦ º¼ ¼öµµ ÀÖ´Ù. ÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀÌ µ¥ÀÌÅͺ£À̽º¸¦ ÀÌ¿ëÇÏ¿© ÀÛ¾÷À» ¼öÇàÇÒ ¶§, °¡Àå µ¥ÀÌÅͺ£À̽º¿¡ ºÎÇϸ¦ ¸¹ÀÌ ÁÖ´Â ÀÛ¾÷Àº µ¥ÀÌÅͺ£À̽º Á¢¼Ó°ú ÇØÁ¦Àε¥, ÀÌ Á¢¼Ó°ú ÇØÁ¦¸¦ ÃÖ´ëÇÑ ÁÙÀÌ´Â ¹æ¹ý¸¸À¸·Îµµ µ¥ÀÌÅͺ£À̽ºÀÇ ÀüüÀûÀÎ ¼º´É Çâ»óÀ» ½±°Ô ²ÒÇÒ ¼ö ÀÖ´Ù
À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ °æ¿ì Ŭ¶óÀ̾ðÆ®°¡ À¥ ¹®¼¸¦ ¿äûÇÒ ¶§¸¶´Ù µ¥ÀÌÅͺ£À̽º¿¡ Á¢¼ÓÇÏ°í ÇØÁ¦ÇÏ´Â ÀÏÀ» ¼öÇàÇÏ´Â °ÍÀº µ¥ÀÌÅͺ£À̽º¿¡ ¸¹Àº ºÎ´ãÀ» ÁÖ°Ô µÈ´Ù. ÀÌ·± ºÎ´ãÀ» ÁÙÀ̱â À§ÇØ µ¥ÀÌÅͺ£À̽º¿ÍÀÇ Á¢¼ÓÀ» pool·Î °üÀåÇÏ´Â ±â¹ýÀÌ ¸¹ÀÌ »ç¿ëµÇ´Âµ¥, ÀÌ ±Û¿¡¼´Â µ¥ÀÌÅͺ£À̽ºÀÇ Á¢¼ÓÀ» pool·Î °üÀåÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÖ´Â ÇÁ·Î±×·¥À» ¼Ò°³ÇÏ·Á°í ÇÑ´Ù. ¼Ò°³ÇÏ·Á´Â ÇÁ·Î±×·¥Àº Gefion Software »ç¿¡¼ ¸¸µç °ÍÀ¸·Î¼ ºñ»ó¾÷Àû ¸ñÀûÀ̶ó¸é »ç¿ë°ú ¹èÆ÷°¡ ÀÚÀ¯·Óµµ·Ï µÇ¾î ÀÖ´Ù. ÇÁ·Î±×·¥ÀÇ ¼Ò½º Äڵ尡 °ø°³µÈ ¸¸Å, »ó¾÷Àû ¸ñÀûÀ¸·Î »ç¿ëÇÏ·Á´Â »ç¶÷µµ ¼Ò½º¸¦ ÅëÇØ °³³äÀ» ÀÍÈù´Ù¸é ÀÚ½ÅÀÌ Á÷Á¢ °£´ÜÇÏ°Ô ¸¸µé ¼ö ÀÖ´Ù.
»ç¿ë ȯ°æ
ÀÌ ÇÁ·Î±×·¥Àº À¥ °³¹ß ½Ã Servlet, JSP µîÀÇ Java ±â¹ýÀ» »ç¿ëÇÏ·Á´Â °æ¿ì¿¡ Àû¿ëµÈ´Ù. µû¶ó¼, Servlet, JSP°¡ ±¸µ¿µÉ ¼ö Àִ ȯ°æÀÌ °®Ãß¾îÁ®¾ß ÇÑ´Ù. ¸®´ª½º Ç÷§ÆûÀÇ °æ¿ì JServ + GNUJSP ȤÀº Tomcat µîÀÇ freeware¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç À̵éÀÇ ¼³Ä¡ ¹æ¹ýÀº WebDoxÀÇ ¹®¼µéÀ» ÂüÁ¶ÇÏ¸é ½±°Ô ¾Ë ¼ö ÀÖ´Ù.
J2EE±â¹ÝÀ̶ó¸é ¿©±â¼ ¼Ò°³ÇÏ´Â ÇÁ·Î±×·¥°ú °°Àº ¹Ìµé¿þ¾î°¡ ÇÊ¿äÇÏÁö ¾Ê´Ù. JDBC 2.0 Standard Extension API ¿¡¼ Á÷Á¢ µ¥ÀÌÅͺ£À̽º¸¦ pool·Î ¿î¿µÇÒ ¼ö Àִ Ŭ·¡½º¸¦ Á¦°øÇÏ°í Àֱ⠶§¹®¿¡ javax.sql.* Ŭ·¡½º¸¦ »ç¿ëÇÏ¸é µÈ´Ù.
¼³Ä¡ ¹æ¹ý
¸ÕÀú, ¼Ò½º¸¦ ´Ù¿î¹Þ°í, ¾ÐÃàÀ» Ǭ´Ù. ¾ÐÃàÀ» Ç®¸é DBConnectionManager.java¿Í db.properties ÆÄÀÏÀÌ »ý±æ °ÍÀÌ´Ù.
¾ÐÃàÀ» Ç®¾úÀ¸¸é, ´ÙÀ½Ã³·³ ÇÏ¿© ÄÄÆÄÀÏÇÑ´Ù.
javac DBConnectionManager.java
ÄÄÆÄÀÏÇÑ ÈÄ DBConnectionManager$DBConnectionPool.class, DBConnectionManager.class µÎ °³ÀÇ ÆÄÀÏÀÌ »ý¼ºµÇ¸é µÈ´Ù.
ÀÌÁ¦ »ý¼ºµÈ µÎ °³ÀÇ Å¬·¡½º ÆÄÀÏ°ú db.properties ÆÄÀÏÀ» ÀÚ½ÅÀÇ Servlet, JSP ±¸µ¿ ȯ°æ¿¡¼ ÁöÁ¤Çϴ Ŭ·¡½º µð·ºÅ丮¿¡ º¹»çÇÑ´Ù. JServ + GNUJSP ȯ°æÀ̶ó¸é zone ¼³Á¤ ÆÄÀÏ(*.properties)ÀÇ repositories¿¡¼ ÁöÁ¤ÇÑ µð·ºÅ丮¿©¾ß ÇÑ´Ù. CLASSPATH¿¡ ÀâÇô ÀÖ´Â µð·ºÅ丮¿¡ º¹»çÇÏÁö ¾Êµµ·Ï ÇÑ´Ù. ´ëºÎºÐÀÇ Servlet, JSP ȯ°æ¿¡¼ CLASSPATH¿¡ ÁöÁ¤µÈ µð·ºÅ丮ÀÇ Å¬·¡½º ÆÄÀϵéÀº ¼öÁ¤ ½Ã reload°¡ µÇÁö ¾ÊÀ¸¹Ç·Î ²À ÀÚ½ÅÀÇ È¯°æ ¼³Á¤ ÆÄÀÏ¿¡¼ ÁöÁ¤ÇÏ´Â µ¿Àû Ŭ·¡½º ÆÄÀÏ µð·ºÅ丮¿¡ ¼¼ ÆÄÀÏÀ» À§Ä¡Çϵµ·Ï ÇÑ´Ù.
ÀÌÁ¦ db.properties ÆÄÀÏÀ» ÀÚ½ÅÀÇ È¯°æ¿¡ ¸Â°Ô ¼³Á¤ÇØ¾ß ÇÑ´Ù.
1 drivers=postgresql.Driver sun.jdbc.odbc.JdbcOdbcDriver
2 logfile=/path/to/pool.log
3
4 mydb.url=jdbc:postgresql:dbname
5 mydb.maxconn=0
6 mydb.user=owner
7 mydb.password=ownerpassword
8
9 mydb2.url=jdbc:postgresql:dbname2
10 mydb2.maxconn=20
11 mydb2.user=owner2
12 mydb2.password=owner2password
¿ì¼±, ¸Ç À§ÀÇ driversÀÇ °ªÀ¸·Î´Â »ç¿ëÇÏ´Â JDBC µå¶óÀ̹ö À̸§À» ¿°ÅÇÑ´Ù. ÀÌ °ªÀº µ¥ÀÌÅͺ£À̽º°¡ Á¦°øÇÏ´Â JDBC µå¶óÀ̹ö¿¡ µû¶ó Á¤ÇØÁö´Âµ¥ ÀÚ½ÅÀÌ »ç¿ëÇÏ´Â JDBCÀÇ ¹®¼µéÀ» Âü°íÇÏ¸é ½±°Ô ¾Ë ¼ö ÀÖ´Ù. postgreSQLÀ̶ó¸é postgresql.DriverÀÌ´Ù. ÀÌ °ªÀº Class.forName() ¸Þ½îµåÀÇ ÀÎÀÚ°ª°ú °°´Ù. Class.forName() ¸Þ½îµå¿¡ ´ëÇؼ´Â WebDoxÀÇ JDBC¸¦ ÀÍÈ÷ÀÚ¸¦ Âü°íÇÑ´Ù.
2¹ø Çà¿¡¼´Â ·Î±× ÆÄÀÏÀÇ À§Ä¡¸¦ ÁöÁ¤ÇØ ÁØ´Ù. ¿©±â¼ ÁÖÀÇÇÒ °ÍÀº ·Î±× ÆÄÀÏÀÌ À§Ä¡ÇÏ´Â µð·ºÅ丮´Â nobody°¡ ÀÐ°í ¾µ ¼ö ÀÖµµ·Ï ÇØ ÁÖ´Â ÀÏÀÌ´Ù.
4¹ø ÇàºÎÅÍ 7¹ø Çà±îÁö´Â Á¢¼ÓÇÏ·Á´Â µ¥ÀÌÅͺ£À̽º¸¦ ÁöÁ¤ÇÏ°í ÀÌ µ¥ÀÌÅͺ£À̽º¿ÍÀÇ Á¢¼Ó ¼ö¸¦ ¼³Á¤ÇÏ´Â ÀÏÀ» ÇÑ´Ù. url, maxconn, user, password ¾Õ¿¡ ºÙ´Â mydb, mydb2¿Í °°Àº À̸§Àº »ç¿ëÀÚ°¡ ÀÓÀÇ·Î ¼³Á¤ÇÏ¸é µÇ°í ÀÌ À̸§ÀÌ ÃßÈÄ ¼Ò½º¿¡¼ µ¥ÀÌÅͺ£À̽º¸¦ Á¢¼ÓÇÒ ¶§ »ç¿ëÇÏ´Â À̸§ÀÌ µÈ´Ù.
4¹ø ÇàÀÇ url °ªÀ¸·Î´Â ÀÚ½ÅÀÌ »ç¿ëÇÏ´Â JDBC¿¡ ¸Â´Â ÇÁ·ÎÅäÄÝ°ú µ¥ÀÌÅͺ£À̽º À̸§À» ÁöÁ¤ÇØ ÁØ´Ù. ÀÌ °ªÀº DriverManager.getConnection() ¸Þ½îµåÀÇ Ã¹¹ø° ÀÎÀÚ°ª°ú °°¾Æ¾ß Çϴµ¥, ù¹ø° µÎ ´Ü¾î(À§ÀÇ ¿¹¿¡¼´Â jdbc:postgresql)´Â JDBCÀÇ ÇÁ·ÎÅäÄÝÀÌ¸ç »ç¿ëÇÏ´Â JDBC µå¶óÀ̹ö¿¡ µû¶ó Á¤ÇØÁö°í, ¸¶Áö¸· ´Ü¾î(dbname)´Â Á¢¼ÓÇÏ°íÀÚ ÇÏ´Â µ¥ÀÌÅͺ£À̽ºÀÇ À̸§À» ¸»ÇÑ´Ù. DriverManager.getConnection() ¸Þ½îµåÀÇ ÀÎÀÚ¿¡ ´ëÇؼ´Â WebDoxÀÇ JDBC¸¦ ÀÍÈ÷ÀÚ¸¦ Âü°íÇÑ´Ù.
5¹ø ÇàÀº 4¹ø Çà¿¡¼ ÁöÁ¤ÇÑ µ¥ÀÌÅͺ£À̽º poolÀÌ °üÀåÇÏ´Â ÃÖ´ë Á¢¼Ó ¼ö¸¦ ¼³Á¤ÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁØ´Ù. 0À̶ó¸é Á¦ÇÑÀ» µÎÁö ¾Ê´Â´Ù´Â Àǹ̴Ù.
6¹ø Çà°ú 7¹ø ÇàÀº °¢°¢ 4¹ø Çà¿¡¼ ÁöÁ¤ÇÑ µ¥ÀÌÅͺ£À̽ºÀÇ Á¢¼Ó ±ÇÇÑÀ» °®´Â À¯ÀúÀÇ ¾ÆÀ̵ð¿Í Æнº¿öµå¸¦ Àû´Â´Ù.
Á¢¼ÓÇÏ·Á´Â µ¥ÀÌÅͺ£À̽º°¡ ¿©·¯ °³¶ó¸é 9¹øºÎÅÍ 12¹ø Çàó·³ 4¹øºÎÅÍ 7¹ø Çà±îÁö¸¦ Á¢¼ÓÇÏ·Á´Â µ¥ÀÌÅͺ£À̽º¿¡ ¸Â°Ô °íÃļ Ãß°¡ÇÏ¸é µÈ´Ù.
»ç¿ë ¹æ¹ý
µ¥ÀÌÅͺ£À̽º Á¢¼Ó ¾ò±â
DBConnectionManagerŬ·¡½º´Â Ŭ¶óÀ̾ðÆ®°¡ µ¥ÀÌÅͺ£À̽º Á¢¼ÓÀ» ¿ä±¸ÇÒ ¶§ »õ·Î µ¥ÀÌÅͺ£À̽º¿Í Á¢¼ÓÀ» ½ÃµµÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ¿ì¼± ³î°í ÀÖ´Â Á¢¼ÓÀÌ ÀÖ´ÂÁö »ìÆì¼ ¿©À¯ºÐÀÌ ÀÖ´Ù¸é ±× Á¢¼ÓÀ» ¹Ù·Î ³Ñ°ÜÁØ´Ù. ¸¸ÀÏ ¿©À¯ºÐÀÌ ¾ø´Ù¸é »õ·Î µ¥ÀÌÅͺ£À̽º¿¡ Á¢¼ÓÀ» ÇÑ´Ù. »ç¿ëÀÚ´Â ÀÌ·± ¸ÞÄ«´ÏÁòÀº ½Å°æÀ» ¾²Áö ¾Ê¾Æµµ µÇ°í µ¥ÀÌÅͺ£À̽º Á¢¼Ó ºÎºÐÀ» ´ÙÀ½Ã³·³ ÄÚµùÇÏ¸é µÈ´Ù.
DBConnectionManager connMgr;
connMgr = DBConnectionManager.getInstance();
Connection db = connMgr.getConnection("mydb");
DBConnectionManagerÀÇ getConnection() ¸Þ½îµåÀÇ ÀÎÀڷδ ¾ÕÀÇ db.properties¿¡¼ ¼³Á¤ÇÑ À̸§À» Àû¾îÁØ´Ù. ¿¹¸¦ µé¸é 4¹ø¿¡¼ 7¹ø Çà¿¡¼ ÁöÁ¤ÇÑ µ¥ÀÌÅͺ£À̽º¶ó¸é url, maxconn, username, password ¾ÕÀÇ À̸§ÀÎ mydb¸¦ Àû¾î ³ÖÀ¸¸é µÈ´Ù.
µ¥ÀÌÅͺ£À̽º Á¢¼Ó µ¹·ÁÁÖ±â
µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÑ ÀÛ¾÷ÀÌ ¸ðµÎ ³¡³ª¸é ¾òÀº Á¢¼ÓÀ» pool¿¡ µ¹·Á ÁÖ¾î¾ß Çϴµ¥ À̸¦ À§Çؼ´Â ´ÙÀ½Ã³·³ ÄÚµùÇÑ´Ù.
connMgr.freeConnection("mydb", db);
freeConnection() ¸Þ½îµåÀÇ Ã¹¹ø° ÀÎÀÚ´Â getConnection() ¸Þ½îµåÀÇ ÀÎÀÚ°ª°ú °°¾Æ¾ß ÇÏ°í µÎ¹ø° ÀÎÀڷδ Á¢¼ÓÇÑ µ¥ÀÌÅͺ£À̽º¸¦ ´Ù·ç¾ú´ø Connection Ŭ·¡½ºÀÇ ÀνºÅϽº¸¦ ÁöÁ¤ÇÑ´Ù.
ÁÖÀÇ »çÇ×
Pool¿¡¼ ³î°í ÀÖ´Â µ¥ÀÌÅͺ£À̽º Á¢¼ÓÀ» ¹Þ¾Æ¼ »ç¿ëÇÏ°í ´Ù½Ã µ¹·Á ÁÖ´Â ¹æ¹ýÀ» »ç¿ëÇϱ⠶§¹®¿¡, ´Ù½Ã µ¹·Á ÁÙ ¶§ ÀÌ Á¢¼Ó¿¡ ´ëÇÑ È¯°æÀ» ¿ø·¡ÀÇ °ªÀ¸·Î º¹¿ø½ÃÄÑ ÁÖ´Â ÀÏÀ» ÀØÀ¸¸é ¾ÈµÈ´Ù. ¿¹¸¦ µé¾î Statement³ª PreparedStatement Ŭ·¡½ºÀÇ setMaxRows() ¸Þ½îµå¸¦ ÅëÇÏ¿© SELECT¿¡¼ ÇÑ ¹ø¿¡ ¾ò¾îÁö´Â tupleÀÇ °¹¼ö¸¦ ÁöÁ¤Çß´Ù¸é ÀÌ °ªÀº ¹ÞÀº Á¢¼ÓÀ» µ¹·ÁÁ־ ±× Á¢¼Ó¿¡ ´ëÇؼ´Â °è¼Ó À¯È¿ÇÏ´Ù. µû¶ó¼, setMaxRows()·Î º¯°æÇϱâ ÀüÀÇ °ªÀ¸·Î µ¹·Á ³õ¾Æ¾ß µ¹·ÁÁØ Á¢¼ÓÀ» ´ÙÀ½¿¡ »ç¿ëÇÒ ¶§ ¹®Á¦°¡ ¹ß»ýÇÏÁö ¾Ê´Â´Ù. ÇÊÀÚ°¡ È®ÀÎÇÑ °ÍÀ¸·Î´Â setMaxRows() ¸Þ½îµå°¡ ÀÖÁö¸¸ ´Ù¸¥ °æ¿ì¿¡µµ ºñ½ÁÇÑ »óȲÀÌ ¹ß»ýÇÒ ¼ö ÀÖÀ¸¹Ç·Î ÁÖÀÇÇϵµ·Ï ÇÑ´Ù.
ÀÌ ÇÁ·Î±×·¥Àº singlet ±â¹ýÀ» »ç¿ëÇϹǷΠ¾²·¹µå¿¡ ¹Î°¨ÇÏ´Ù. »ç¿ëÇÏ´Â JDK°¡ native ¾²·¹µå¶ó¸é µ¿ÀÛÀÌ Àß µÇÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù. ¸¸ÀÏ µ¿ÀÛÀÌ Á¦´ë·Î µÇÁö ¾Ê°Å³ª ¿À·¡ »ç¿ëÇßÀ» ¶§ À¥ ¼¹ö°¡ ´À·ÁÁö´Â ÀÏÀÌ ¹ß»ýÇÑ´Ù¸é JDK¸¦ ´Ù¸¥ °ÍÀ¸·Î ¹Ù²Ù¸é ÇØ°áÇÒ ¼ö ÀÖ´Ù.
¸¶Ä¡¸ç
µ¥ÀÌÅͺ£À̽º °ü¸®´Â À¥ °³¹ß°ú À¯Áö¿¡ ÀÖ¾î¼ ¸Å¿ì Áß¿äÇÏ´Ù. Pool·Î °ü¸®¸¦ ÇÑ´Ù¸é PoolÀÌ µ¿ÀÛÇÏ´Â ¸ÞÄ«´ÏÁòÀ» Àß ÀÌÇØÇÏ°í ·Î±× ÆÄÀϵµ ¼ö½Ã·Î »ìÆì¼ ¹ß»ýµÇ´Â ¹®Á¦¿¡ Çö¸íÇÏ°Ô ´ëóÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. º» ±Û¿¡¼ Á¦½ÃÇÏ´Â ÇÁ·Î±×·¥ÀÇ ¼Ò½º´Â singletÀÇ ÀüÇüÀûÀÎ ¿¹¸¦ º¸¿©ÁÖ´Â ÄÚµå·Î¼ ÇѹøÂëÀº ºÐ¼®ÇØ º¼¸¸ÇÑ °¡Ä¡°¡ ÀÖ´Ù. ¼Ò½º¿¡ °£·«ÇÑ ÁÖ¼®ÀÌ ´Þ¾ÆÁ® ÀÖÀ¸¹Ç·Î ÀÌÇØÇϱ⠾î·ÆÁö ¾Ê´Ù. ÀÚ¹Ù ÄÚµù¿¡ °ü½ÉÀÖ´Â µ¶ÀÚ¶ó¸é ²À ¼Ò½º Äڵ带 »ìÆ캸±â ¹Ù¶õ´Ù.
J2EE ±â¹Ý¿¡¼ javax.sql.* Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º¸¦ pool·Î °ü¸®ÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ¼³¸íÀº ´ÙÀ½ ±âȸ·Î ³²°ÜµÐ´Ù.
|