Commons-dbcp
I. DBCP (DataBase Connection Pool)
ÀÌÁ¦´Â µ¥ÀÌÅͺ£À̽º Ç®À» ÀÌ¿ëÇÑ Ä¿³Ø¼Ç Ç®À» »ç¿ëÇÏÁö ¾Ê´Â´Ù´Â°ÍÀº »ó»óÁ¶Â÷ ÇÒ ¼ö ¾ø°Ô µÇ¾ú´Ù. °¢ WASÀÇ º¥´õµéÀº ¿À·¡ÀüºÎÅÍ ÀÚ»çÁ¦Ç°¿¡ ´ëÇØ ÃÖÀûÈµÈ Ä¿³Ø¼Ç Ç®À» ±âº»ÀûÀ¸·Î Á¦°øÀ» Çϱâ±îÁö À̸£·¶´Ù. ¶ÇÇÑ Çѽº¹ö±×ÀÇ Ä¿³Ø¼Ç Ç®¸µÀ̳ª Ç®¸ÇÀÇ Ç®µî ¿©·¯ ¿ÀÇÂµÈ Ä¿³Ø¼Ç Ç® ¼Ò½ºµéÀÌ µ¹¾Æ´Ù±â±âµµ ÇÏ¿´´Ù.
¿©±â¼´Â Jakarta Commons¿¡¼ ÁøÇàÇÏ°íÀÖ´Â Commons-dbcp project¿¡ ´ëÇØ ¾Ë¾Æº¸°í °£´ÜÇÑ ¿¹Á¦¸¦ ¼Ò°³Çϱâ·Î ÇÏ°Ú´Ù
II. ´Ù¿î·Îµå ¹× ¼³Ä¡
dbcp´Â commonsÀÇ pool°ú collectionÀ» »ç¿ëÇϱ⶧¹®¿¡ ´ÙÀ½3°¡Áö¸¦ ¸ðµÎ ¼³Ä¡ÇØ¾ß Á¤»óÀûÀ¸·Î dbcp¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
Commons-dbcp http://jakarta.apache.org/site/downloads/downloads_commons-dbcp.cgi
Commons-pool http://jakarta.apache.org/site/downloads/downloads_commons-pool.cgi
Commons-collections http://jakarta.apache.org/site/downloads/downloads_commons-collections.cgi
DBCP API http://jakarta.apache.org/commons/dbcp/apidocs/index.html
/WEB-INF/lib/ ¿¡ ´Ù¿î¹ÞÀº 3°¡Áö *.jar¸¦ º¹»çÇϵµ·Ï ÇÑ´Ù
III. DBCP À¥¿¡¼ »ç¿ëÇϱâ!
À̹ø dbcp °ÀÇ´Â À¥¿¡¼ »ç¿ëÇϴ°ÍÀ» ÀüÁ¦·Î ¼³¸íÇÏ°Ú½À´Ï´Ù ^^
ÅèĹÀ» »ç¿ëÇÑ´Ù¸é server.xml¿¡ dbcp¸¦ ¼³Á¤Çصµ µÇÁö¸¸ web.xml¿¡ ¼³Á¤Çϴ°ÍÀÌ Á»´õ À¯¿¬¼ºÀ» Áö´Õ´Ï´Ù
1) JDBC Á¤º¸ Á¤ÀÇ
web.xml¿¡ dbcp¸¦ »ç¿ëÇϱâÀ§ÇÑ jdbc Á¤º¸¸¦ Á¤ÀÇÇÕ´Ï´Ù.
¨ç driverClassName : »ç¿ëÇÒ jdbc driverÀÇ class name
¨è url : jdbc driverÀÇÇØ ¿¬°áÇÒ connection¿¡ ´ëÇÑ url
¨é username : connectionÀ» ¿¬°áÇÒ »ç¿ëÀÚ À̸§
¨ê password : connectionÀ» ¿¬°áÇÒ »ç¿ëÀÚ ºñ¹Ð¹øÈ£
¨ë defaultAutoCommit : Ç®¿¡ÀÇÇØ »ý¼ºµÈ Ä¿³Ø¼ÇÀÇ auto-commit »óÅÂ
¨ì defaultReadOnly : Ç®¿¡ÀÇÇØ »ý¼ºµÈ Ä¿³Ø¼ÇÀÇ read-only »óÅÂ
jdbc¿¡ µû¶ó Áö¿øÇÏÁö ¾ÊÀ»¼öµµ ÀÖ´Ù (¿¹ : informix)
¨í maxActive : Ä¿³Ø¼ÇÇ®ÀÇ ActiveÇÑ Ä¿³Ø¼ÇÀÇ ÃÖ´ë °¹¼ö
¨î maxIdle : Ä¿³Ø¼ÇÇ®ÀÇ idleÇÑ Ä¿³Ø¼ÇÀÇ ÃÖ´ë °¹¼ö
¨ï maxWait : Ä¿³Ø¼ÇÀÌ Ç®¿¡ ¹Ý³³µÇ±â±îÁö ±â´Ù¸®´Â ÃÖ´ë ½Ã°£ (millisecond)
2) JDBC Á¤º¸ ·Îµù ¹× ÃʱâÈ
ÀÌ Å¬·¡½º´Â web.xml¿¡ ÀÇÇØ ¼ºí¸´ ÄÁÅ×À̳ʰ¡ ±¸µ¿µÉ ¶§ µü Çѹø ½ÇÇàµË´Ï´Ù.
db.ConnectionInitialize.java
3) Ä¿³Ø¼Ç ·¡ÆÛ Å¬·¡½º
µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÀ» °ü¸®ÇÏ´Â Interface·Î ´ÙÀ½ 4°¡Áö ÇÔ¼ö¸¦ Á¤ÀÇÇÏ¿´½À´Ï´Ù.
db.ConnectionContext.java
ConectionContext¸¦ ±¸ÇöÇÑ Ä¿³Ø¼Ç Ŭ·¡½º
db.ConnectionResource.java
4) Å×½ºÆ® JSP
jsp¿¡¼ ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÏ¸é µË´Ï´Ù.
°ü·Ã ÆÄÀϵéÀ» ÷ºÎÇÕ´Ï´Ù ^^&
IV. Struts¿Í DBCP
¸¸¾à Struts¿Í ÇÔ²² »ç¿ëÇÑ´Ù¸é ´ÙÀ½°ú °°ÀÌ »ç¿ëÇϼ¼¿ä. ÇöÀç UnicornÀÌ ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î µÇ¾îÀÖ½À´Ï´Ù.
1) struts-config.xml ¿¡ DBCP Á¤º¸¸¦ Á¤ÀÇÇÕ´Ï´Ù.
2) Action classs¿¡¼ ´ÙÀ½°ú °°ÀÌ Ä¿³Ø¼ÇÀ» ¾ò¾î¿Ã ¼ö ÀÖ½À´Ï´Ù.
ÀÌ getDataSource() ÇÔ¼ö´Â org.apache.struts.action.Action Ŭ·¡½º¿¡ ´ÙÀ½°ú °°ÀÌ Á¤ÀǵǾî ÀÖ½À´Ï´Ù.
3) Struts¿¡¼ Æ®·£Àè¼Ç °ü¸®¸¦ À§ÇÑ ÄÚµùÀ¸·Î´Â unicornÀÇ ¼Ò½º¿¡ Ãæ½ÇÈ÷ ±¸ÇöµÇ¾î ÀÖ½À´Ï´Ù.
¸¶Âù°¡Áö·Î InterfaceÀÎ ConnectionContext¿Í À̸¦ ±¸ÇöÇÑ ConnectionResource¸¦ »ç¿ëÇÏ¿© Æ®·£Àè¼Ç °ü¸®¸¦ ÇÏ¿´½À´Ï´Ù. ÀÌ ¿¹Á¦´Â unicorn ¼Ò½º¸¦ ÂüÁ¶Çϼ¼¿ä ^^
V. ÅèĹ¿¡¼ÀÇ DBCP »ç¿ë
1) DBCP¿¡ ´ëÇÑ Á¤º¸¸¦ server.xml¿¡ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù.
2) web.xml¿¡ JNDI ¸®¼Ò½º¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ´ÙÀ½À» Ãß°¡ÇÕ´Ï´Ù.
3) ½ÇÁ¦ ¼Ò½º¿¡¼´Â ´ÙÀ½°ú °°ÀÌ DataSource¸¦ »ç¿ëÇÕ´Ï´Ù.
°£´ÜÇÏÁÕ?
=============================================
º»¹®¼´Â ÀÚÀ¯·Ó°Ô ¹èÆ÷/º¹»ç ÇÒ¼ö ÀÖÁö¸¸
À̹®¼ÀÇ ÀúÀÚ¿¡ ´ëÇÑ ¾ð±ÞÀ» »èÁ¦ÇÏ½Ã¸é ¾ÈµË´Ï´Ù
ÀúÀÚ : GoodBug (unicorn@jakartaproject.com)
ÃÖÃÊ : http://www.jakartaproject.com
=============================================