Sun ONE ·Î°í      ÀÌÀü      ¸ñÂ÷      »öÀÎ      ´ÙÀ½     

Sun ONE Application Server °ü¸®ÀÚ ¼³¸í¼­

10Àå
À̸§ ÁöÁ¤ ¹× ÀÚ¿ø ±¸¼º

ÀÌ Àå¿¡¼­´Â Sun ONE Application Server¿¡¼­ »ç¿ëÇÏ´Â J2EE ÀÚ¿ø¿¡ ´ëÇØ ¼³¸íÇϰí ÀÌ·¯ÇÑ ÀÚ¿øÀ» ¸¸µé°í °ü¸®Çϱâ À§ÇØ »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼­µµ ¼³¸íÇÕ´Ï´Ù.

ÀÌ ÀåÀº ´ÙÀ½ ³»¿ëÀ¸·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù.


J2EE À̸§ ÁöÁ¤ ¼­ºñ½º ¹× ÀÚ¿ø Á¤º¸

EJB¸¦ Æ÷ÇÔÇÑ J2EE ÀÀ¿ë ÇÁ·Î±×·¥, À¥ ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò ¹× ÀÀ¿ë ÇÁ·Î±×·¥ Ŭ¶óÀÌ¾ðÆ®´Â ÀÚ¿ø °ü¸®ÀÚ, µ¥ÀÌÅÍ ¼Ò½º(¿¹: SQL µ¥ÀÌÅÍ ¼Ò½º), ¿¬°á ÆÑÅ丮, Mail ¼¼¼Ç, Java Message Service ´ë»ó °´Ã¼, URL ¿¬°á ÆÑÅ丮 °°Àº ´Ù¾çÇÑ ÀÚ¿ø¿¡ ¾×¼¼½ºÇÕ´Ï´Ù. J2EE Ç÷§ÆûÀº JNDI (Java Naming and Directory) À̸§ ÁöÁ¤ ¼­ºñ½º¸¦ ÅëÇØ ÀÌ·¯ÇÑ ÀÚ¿øÀ» ÀÀ¿ë ÇÁ·Î±×·¥¿¡ Á¦°øÇÕ´Ï´Ù.

Sun ONE Application Server¸¦ »ç¿ëÇÏ¸é ´ÙÀ½ J2EE ÀÚ¿øÀ» ¸¸µé°í °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.

JDBC µ¥ÀÌÅÍ ¼Ò½º

JDBC µ¥ÀÌÅÍ ¼Ò½º´Â Sun ONE Application Server¸¦ »ç¿ëÇÏ¿© ¸¸µé°í °ü¸®ÇÒ ¼ö ÀÖ´Â J2EE ÀÚ¿øÀÔ´Ï´Ù.

JDBC API´Â °ü°èÇü µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ°úÀÇ ¿¬°áÀ» À§ÇÑ APIÀÔ´Ï´Ù. JDBC API´Â µÎ ºÎºÐÀ¸·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù.

JDBC DataSource °´Ã¼´Â Java ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î µ¥ÀÌÅÍ ¼Ò½º¸¦ Ç¥ÇöÇÏ´Â °ÍÀÔ´Ï´Ù. ±âº»ÀûÀ¸·Î µ¥ÀÌÅÍ ¼Ò½º´Â µ¥ÀÌÅ͸¦ ÀúÀåÇϱâ À§ÇÑ ±â´ÉÀ» ÀǹÌÇÕ´Ï´Ù. µ¥ÀÌÅÍ ¼Ò½º´Â ´ë±â¾÷ÀÇ º¹ÀâÇÑ µ¥ÀÌÅͺ£À̽ºÃ³·³ º¹ÀâÇÒ ¼öµµ ÀÖ°í Çà°ú ¿­·Î ±¸¼ºµÈ ÆÄÀÏó·³ °£´ÜÇÒ ¼öµµ ÀÖ½À´Ï´Ù. JDBC µ¥ÀÌÅÍ ¼Ò½º´Â Sun ONE Application Server¸¦ ÅëÇØ ¸¸µé°í °ü¸®ÇÒ ¼ö ÀÖ´Â J2EE ÀÚ¿øÀÔ´Ï´Ù.

JDBC µ¥ÀÌÅÍ ¼Ò½º¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº "JDBC ÀÚ¿ø Á¤º¸"¸¦ ÂüÁ¶ÇϽʽÿÀ.

JavaMail ¼¼¼Ç

JMS ´ë»óÀº Sun ONE Application Server¸¦ ÅëÇØ ¸¸µé°í °ü¸®ÇÒ ¼ö ÀÖ´Â J2EE ÀÚ¿øÀÔ´Ï´Ù.

¸¹Àº ÀÎÅÍ³Ý ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ ÀüÀÚ ¸ÞÀÏ ¾Ë¸²À» º¸³¾ ¼ö ÀÖ´Â ±â´ÉÀ» ÇÊ¿ä·Î ÇϹǷΠJ2EE Ç÷§ÆûÀº JavaMail API¿Í ÇÔ²² JavaMail ¼­ºñ½º °ø±ÞÀÚ¸¦ Æ÷ÇÔÇÏ¿© ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò°¡ ÀÎÅÍ³Ý ¸ÞÀÏÀ» º¸³¾ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù. JavaMail API´Â µÎ ºÎºÐÀ¸·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù.

JavaMail ¼¼¼ÇÀº Sun ONE Application Server¸¦ ÅëÇØ ¸¸µé°í °ü¸®ÇÒ ¼ö ÀÖ´Â J2EE ÀÚ¿øÀÔ´Ï´Ù. JavaMail ¼¼¼Ç¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº "JavaMail ÀÚ¿ø Á¤º¸"¸¦ ÂüÁ¶ÇϽʽÿÀ.

JMS ´ë»ó

JMS (Java Messaging Service)´Â °Ô½Ã-°¡ÀÔ ¸ðµ¨°ú ½Å·ÚÇÒ ¼ö ÀÖ´Â ÁöÁ¡°£ ¸Þ½Ã¡À» Áö¿øÇÏ´Â ¸Þ½Ã¡¿ë Ç¥ÁØ APIÀÔ´Ï´Ù. ÀÌ »ç¾ç¿¡´Â ÁöÁ¡°£ ¸Þ½Ã¡°ú °Ô½Ã-°¡ÀÔ ¸Þ½Ã¡À» ¸ðµÎ ±¸ÇöÇÏ´Â JMS °ø±ÞÀÚ°¡ ÇÊ¿äÇÕ´Ï´Ù.

JMS´Â µÎ °¡Áö À¯ÇüÀÇ ÀϹÝÀûÀÎ °ü¸®µÈ °´Ã¼ÀÎ ¿¬°á ÆÑÅ丮¿Í ´ë»óÀ» Á¦°øÇÕ´Ï´Ù. µÎ °¡Áö ¸ðµÎ °ø±ÞÀÚ °ü·Ã Á¤º¸¸¦ ĸ½¶È­ÇÏÁö¸¸ JMS Ŭ¶óÀÌ¾ðÆ® ³»¿¡¼­ ¾ÆÁÖ ´Ù¸£°Ô »ç¿ëµË´Ï´Ù. ¿¬°á ÆÑÅ丮´Â ¸Þ½ÃÁö ¼­¹ö¸¦ ¿¬°áÇÏ´Â µ¥ »ç¿ëµÇ¸ç ´ë»ó °´Ã¼´Â JMS ¸Þ½Ã¡ ¼­ºñ½º¿¡¼­ »ç¿ëÇÏ´Â ¹°¸®Àû ´ë»óÀ» ½Äº°ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.


JNDI (Java Naming and Directory Interface) Á¤º¸

ÀÌ Àý¿¡¼­´Â JNDI (Java Naming and Directory Interface)¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. JNDI´Â ´Ù¾çÇÑ Á¾·ùÀÇ À̸§ ÁöÁ¤ ¹× µð·ºÅ丮 ¼­ºñ½º¸¦ ¾×¼¼½ºÇϱâ À§ÇÑ ÀÀ¿ë ÇÁ·Î±×·¥ ÇÁ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽º(API)ÀÔ´Ï´Ù. J2EE ±¸¼º ¿ä¼Ò´Â JNDI Á¶È¸ ¸Þ¼Òµå¸¦ È£ÃâÇÏ¿© °´Ã¼¸¦ ã½À´Ï´Ù.

ÀÌ Àý¿¡¼­´Â ´ÙÀ½ Ç׸ñ¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.

JNDI ±¸Á¶

JNDI ±¸Á¶´Â API (Application Programmer's Interface)¿Í SPI (Service Provider Interface)·Î ±¸¼ºµË´Ï´Ù. Java ÀÀ¿ë ÇÁ·Î±×·¥Àº JNDI API¸¦ »ç¿ëÇÏ¿© ´Ù¾çÇÑ À̸§ ÁöÁ¤ ¹× µð·ºÅ丮 ¼­ºñ½º¸¦ ¾×¼¼½ºÇÕ´Ï´Ù. SPI´Â ´Ù¾çÇÑ À̸§ ÁöÁ¤ ¹× µð·ºÅ丮 ¼­ºñ½º°¡ Åõ¸íÇÏ°Ô Ç÷¯±× ÀÎµÇ°Ô ÇÔÀ¸·Î½á Java ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ JNDI API¸¦ »ç¿ëÇÏ¿© ÇØ´ç ¼­ºñ½º¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ°Ô ÇØÁÝ´Ï´Ù. ´ÙÀ½ÀÇ "JNDI ±¸Á¶ÀÇ °³¿ä" ±×¸²Àº JNDI API¸¦ ÅëÇØ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Â ¼­ºñ½º¸¦ º¸¿©ÁÝ´Ï´Ù.

±×¸² 10-1 JNDI ±¸Á¶ÀÇ °³¿ä

JNDI ±¸Á¶¸¦ ÀüüÀûÀ¸·Î º¸¿©ÁÖ´Â ±×¸²ÀÔ´Ï´Ù.

J2EE À̸§ ÁöÁ¤ ¼­ºñ½º

JNDI À̸§Àº »ç¶÷µé¿¡°Ô Ä£¼÷ÇÑ °´Ã¼ À̸§ÀÔ´Ï´Ù. ÀÌ·¯ÇÑ À̸§Àº J2EE ¼­¹ö¿¡¼­ Á¦°øÇÏ´Â À̸§ ÁöÁ¤ ¹× µð·ºÅ丮 ¼­ºñ½º¿¡ ÀÇÇØ °´Ã¼¿¡ ¹ÙÀεùµË´Ï´Ù. J2EE ±¸¼º ¿ä¼Ò´Â JNDI API¸¦ ÅëÇØ ÀÌ ¼­ºñ½º¿¡ ¾×¼¼½ºÇϹǷΠÀϹÝÀûÀ¸·Î »ç¶÷µé¿¡°Ô Ä£¼÷ÇÑ °´Ã¼ À̸§À» JNDI À̸§À̶ó°í ÇÕ´Ï´Ù. Pointbase µ¥ÀÌÅͺ£À̽ºÀÇ JNDI À̸§Àº jdbc/PointbaseÀÔ´Ï´Ù. Sun ONE Application Server´Â ½ÃÀÛÇÒ ¶§ ±¸¼º ÆÄÀϷκÎÅÍ Á¤º¸¸¦ Àоî À̸§ °ø°£¿¡ JNDI µ¥ÀÌÅͺ£À̽º À̸§À» ÀÚµ¿À¸·Î Ãß°¡ÇÕ´Ï´Ù.

J2EE ÀÀ¿ë ÇÁ·Î±×·¥ Ŭ¶óÀ̾ðÆ®, Enterprise Bean ¹× À¥ ±¸¼º ¿ä¼Ò¿¡´Â JNDI À̸§ ÁöÁ¤ ȯ°æ¿¡ ´ëÇÑ ¾×¼¼½º ±ÇÇÑÀÌ ÇÊ¿äÇÕ´Ï´Ù.

ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼ÒÀÇ À̸§ ÁöÁ¤ ȯ°æÀº ¹èÆ÷³ª Á¶¸³ Áß¿¡ ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò ºñÁî´Ï½º ³í¸®ÀÇ »ç¿ëÀÚ Á¤ÀǸ¦ Çã¿ëÇÏ´Â ¸ÞÄ¿´ÏÁòÀÔ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò ȯ°æÀ» »ç¿ëÇϸé ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼ÒÀÇ ¼Ò½º Äڵ带 ¾×¼¼½ºÇϰųª º¯°æÇÒ ÇÊ¿ä ¾øÀÌ ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò¸¦ »ç¿ëÀÚ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù.

J2EE ÄÁÅ×À̳ʴ ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼ÒÀÇ È¯°æÀ» ±¸ÇöÇϸç ÀÌ·¯ÇÑ È¯°æÀ» ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò ÀνºÅϽº¿¡ JNDI À̸§ ÁöÁ¤ ÄÁÅØ½ºÆ®·Î Á¦°øÇÕ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼ÒÀÇ È¯°æÀº ´ÙÀ½°ú °°ÀÌ »ç¿ëµË´Ï´Ù.

°¢ ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò´Â °íÀ¯ ȯ°æ Ç׸ñ ÁýÇÕÀ» Á¤ÀÇÇÕ´Ï´Ù. °°Àº ÄÁÅ×ÀÌ³Ê ³»ÀÇ ¸ðµç ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò ÀνºÅϽº´Â °°Àº ȯ°æ Ç׸ñÀ» °øÀ¯ÇÕ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò ÀνºÅϽº´Â ·±Å¸ÀÓ¿¡ ȯ°æÀ» ¼öÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù. À¥ ÄÁÅ×ÀÌ³Ê ¹× EJB ÄÁÅ×ÀÌ³Ê °°Àº J2EE ÄÁÅ×À̳ʰ¡ JNDI À̸§ ÁöÁ¤ ¼­ºñ½º¸¦ »ç¿ëÇÏ¿© °´Ã¼¸¦ Á¶È¸ÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº "J2EE ÄÁÅ×ÀÌ³Ê ±¸¼º"À» ÂüÁ¶ÇϽʽÿÀ.

À̸§ ÁöÁ¤ ÂüÁ¶ ¹× ¹ÙÀεù Á¤º¸

ÀÚ¿ø ÂüÁ¶´Â ÀÚ¿ø¿¡ ´ëÇÑ ±¸¼º ¿ä¼ÒÀÇ ÄÚµåÈ­µÈ À̸§À» ½Äº°ÇÏ´Â ¹èÆ÷ ¼³¸íÀÚÀÇ ¿ä¼ÒÀÔ´Ï´Ù. Áï, ÄÚµåÈ­µÈ À̸§Àº ÀÚ¿øÀÇ ¿¬°á ÆÑÅ丮¸¦ ÂüÁ¶ÇÕ´Ï´Ù. ´ÙÀ½ ÀýÀÇ ¿¹¿¡¼­ ÀÚ¿ø ÂüÁ¶ À̸§Àº jdbc/SavingsAccountDBÀÔ´Ï´Ù.

ÀÚ¿øÀÇ JNDI À̸§°ú ÀÚ¿ø ÂüÁ¶ÀÇ À̸§Àº °°Áö ¾Ê½À´Ï´Ù. ÀÌ ¹æ¹ýÀ¸·Î À̸§À» ÁöÁ¤ÇÏ·Á¸é ¹èÆ÷ Àü¿¡ µÎ À̸§À» ¸ÅÇÎÇØ¾ß ÇÏÁö¸¸ ÀÚ¿øÀ¸·ÎºÎÅÍ ±¸¼º ¿ä¼Ò¸¦ ºÐ¸®Çϱ⵵ ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ºÐ¸® ±â´ÉÀ¸·Î ÀÎÇØ ³ªÁß¿¡ ±¸¼º ¿ä¼Ò°¡ ´Ù¸¥ ÀÚ¿ø¿¡ ¾×¼¼½ºÇØ¾ß ÇÏ´Â °æ¿ì Äڵ忡¼­ À̸§À» º¯°æÇÏÁö ¾Ê¾Æµµ µË´Ï´Ù. ¶ÇÇÑ ÀÌ·¯ÇÑ À¶Å뼺À¸·Î ÀÎÇØ ±âÁ¸ÀÇ ±¸¼º ¿ä¼Ò·ÎºÎÅÍ J2EE ÀÀ¿ë ÇÁ·Î±×·¥À» Á¶¸³ÇϱⰡ ½±½À´Ï´Ù.

´ÙÀ½ÀÇ "JNDI Á¶È¸ ¹× °ü·Ã ÂüÁ¶" Ç¥¿¡¼­´Â Sun ONE Application Server°¡ »ç¿ëÇÏ´Â J2EE ÀÚ¿ø¿¡ ´ëÇÑ JNDI Á¶È¸ ¹× °ü·Ã ÂüÁ¶¸¦ ³ª¿­ÇÕ´Ï´Ù.

Ç¥ 10-1 JNDI Á¶È¸ ¹× °ü·Ã ÂüÁ¶

JNDI Á¶È¸ À̸§

°ü·Ã ÂüÁ¶

java:comp/env

ÀÀ¿ë ÇÁ·Î±×·¥ ȯ°æ Ç׸ñ

java:comp/env/jdbc

JDBC µ¥ÀÌÅÍ ¼Ò½º ÀÚ¿ø °ü¸®ÀÚ ¿¬°á ÆÑÅ丮

java:comp/env/ejb

EJB ÂüÁ¶

java:comp/UserTransaction

UserTransaction ÂüÁ¶

java:comp/env/mail

JavaMail ¼¼¼Ç ¿¬°á ÆÑÅ丮

java:comp/env/url

URL ¿¬°á ÆÑÅ丮

java:comp/env/jms

JMS ¿¬°á ÆÑÅ丮 ¹× ´ë»ó

java:comp/ORB

ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò °£¿¡ °øÀ¯µÇ´Â ORB ÀνºÅϽº

J2EE Ç¥ÁØ ¹èÆ÷ ¼³¸íÀÚÀÇ À̸§ ÁöÁ¤ ÂüÁ¶

À̸§ ÁöÁ¤ ÂüÁ¶´Â ÁÖ¾îÁø À̸§ ÁöÁ¤ ÄÁÅØ½ºÆ®¿¡¼­ °´Ã¼¸¦ Á¶È¸Çϱâ À§ÇØ ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ »ç¿ëÇÏ´Â ¹®ÀÚ¿­ÀÔ´Ï´Ù. °¢ J2EE ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ´ëÇØ À̸§ ÁöÁ¤ ÄÁÅØ½ºÆ®°¡ ÀÖ°í Ç¥ÁØ ±¸¼º ¿ä¼Ò ¹èÆ÷ ¼³¸íÀÚ¿¡ ÂüÁ¶°¡ ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù. ÀÌ Àý¿¡¼­´Â Sun ONE Application Server¿¡¼­ »ç¿ëÇϴ ǥÁØ ¹èÆ÷ ¼³¸íÀÚ¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. ÀÌ Àý¿¡¼­´Â ´ÙÀ½ Ç׸ñ¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.

ÀÀ¿ë ÇÁ·Î±×·¥ ȯ°æ Ç׸ñ

<env-entry>¸¦ »ç¿ëÇÏ¿© Á¤ÀÇÇϴ ȯ°æ Ç׸ñÀº J2EE ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ¹èÆ÷ ½Ã°£ ¸Å°³ º¯¼ö¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù. À¥ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ °æ¿ì <context-param>À» »ç¿ëÇÏ¿© ¼­ºí¸´ ÄÁÅØ½ºÆ® ÃʱâÈ­ ¸Å°³ º¯¼ö¸¦ Á¤ÀÇÇÒ ¼ö ÀÖÁö¸¸ ÀÀ¿ë ÇÁ·Î±×·¥ ¹èÆ÷ÀÚ´Â ÀÀ¿ë ÇÁ·Î±×·¥ ¸Å°³ º¯¼öÀÇ À̸§, À¯Çü ¹× °ªÀ» ¸í½ÃÀûÀ¸·Î ÁöÁ¤ÇÏ¿© ÀÌ·¯ÇÑ ¸Å°³ º¯¼ö¸¦ ±¸¼ºÇϹǷΠ<env-entry>°¡ ¼±È£µÇ´Â ¹æ¹ýÀÔ´Ï´Ù.

´ÙÀ½ ¿¹¿¡¼­´Â J2EE Ç¥ÁØ ¹èÆ÷ ¼³¸íÀÚ¿¡ ÁöÁ¤µÇ¾î ÀÖ´Â <env-entry>ÀÇ ±¸¹®À» ¼³¸íÇÕ´Ï´Ù.

<env-entry>
<description> Send pincode by mail </description>
<env-entry-name> mailPincode </env-entry-name>
<env-entry-value> false </env-entry-value>
<env-entry-type> java.lang.Boolean </env-entry-type>
</env-entry>

<env-entry-type> ű״ Ç׸ñ¿¡ ´ëÇÑ Àüü Ŭ·¡½º À̸§À» ÁöÁ¤ÇÕ´Ï´Ù. ´ÙÀ½Àº ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò(¼­ºí¸´/JSP, Entity Bean ¶Ç´Â IIOP ÀÀ¿ë ÇÁ·Î±×·¥ Ŭ¶óÀÌ¾ðÆ®¸¦ °¡¸®Å°´Â ¿ë¾î)¿¡¼­ JNDI¸¦ »ç¿ëÇÏ¿© <env-entry>¸¦ Á¶È¸ÇÒ ¼ö ÀÖ´Â ÄÚµå Á¶°¢ÀÔ´Ï´Ù.

Context initContext = new InitialContext();
Boolean mailPincode = (Boolean)
initContext.lookup("java:comp/env/mailPincode");

// one could use relative names into the sub-context
Context envContext = initContext.lookup("java:comp/env");
Boolean mailPincode = (Boolean)
envContext.lookup("mailPincode");

EJB ÂüÁ¶

´ÙÀ½ ¿¹¿¡¼­ ¼³¸íÇÏ´Â °Íó·³ ¹èÆ÷ ¼³¸íÀÚ Áö¿ø ±â´É°ú´Â º°µµ·Î JNDI À̸§ ÁöÁ¤ ¼­ºñ½º´Â ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ ³í¸®Àû À̸§(EJB ÂüÁ¶)À» »ç¿ëÇÏ¿© Enterprise BeanÀÇ È¨ ÀÎÅÍÆäÀ̽º¿¡ ¸ÅÇÎÇÏ°Ô ÇØÁÝ´Ï´Ù.

<ejb-ref>
<ejb-ref-name> ejb/EmplRecord </ejb-ref-name>
<ejb-ref-type> Entity </ejb-ref-type>
<home> com.wombat.empl.EmployeeRecordHome </home>
<remote> com.wombat.empl.EmployeeRecord </remote>
<ejb-link> EmployeeEJB </ejb-link>
</ejb-ref>

JSP¿Í °°Àº ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò´Â ´ÙÀ½ ¿¹¿¡¼­ ¼³¸íÇÏ´Â °Íó·³ JNDI¸¦ »ç¿ëÇÏ¿© EJB Ȩ °´Ã¼¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

Context initContext = new InitialContext();
Context envContext = initContext.lookup("java:comp/env");
Object result = envContext.lookup("ejb/EmplRecord");
EmployeeRecordHome emplRecordHome = (EmployeeRecordHome)
javax.rmi.PortableRemoteObject.narrow(result, EmployeeRecordHome.class);

ejb-ref-name ¿ä¼Ò´Â À§ÀÇ ¿¹¿¡¼­¿Í °°ÀÌ ÀÀ¿ë ÇÁ·Î±×·¥ Äڵ忡 »ç¿ëµÇ´Â ¹®ÀÚ¿­À» Á¤ÀÇÇÕ´Ï´Ù. ejb-link ¿ä¼Ò´Â ejb-jar.xml¿¡¼­ Á¤ÀÇµÈ Entity BeanÀÇ ejb-name ¿ä¼Ò¸¦ »ç¿ëÇÏ¿© Á¤ÀǵǴ ´ë»ó Enterprise Bean¿¡ ÀÌ·¯ÇÑ ÂüÁ¶¸¦ ¿¬°áÇÕ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ ¹èÆ÷ ¼³¸íÀÚ³ª Enterprise Bean ¼³¸íÀÚ Áß Çϳª¸¦ ¼öÁ¤ÇÏÁö ¾Ê°í ¿¬°áÀ» ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÚ¿ø °ü¸®ÀÚ ¿¬°á ÆÑÅ丮¿¡ ´ëÇÑ ÂüÁ¶

ÆÑÅ丮´Â ¿äû ½Ã ´Ù¸¥ °´Ã¼¸¦ ¸¸µå´Â °´Ã¼ÀÔ´Ï´Ù. ÀÚ¿ø ÆÑÅ丮´Â µ¥ÀÌÅͺ£À̽º ¿¬°áÀ̳ª ¸Þ½ÃÁö ¼­ºñ½º ¿¬°á °°Àº ÀÚ¿ø °´Ã¼¸¦ ¸¸µé¸ç ÀÌ·¯ÇÑ °´Ã¼´Â Ç¥ÁØ ¹èÆ÷ ¼³¸íÀÚÀÇ <resource-ref> ¿ä¼Ò¸¦ »ç¿ëÇÏ¿© ±¸¼ºµË´Ï´Ù.

´ÙÀ½ ¿¹¿¡¼­´Â ÆÑÅ丮 »ç¿ëÀ» ¼³¸íÇÕ´Ï´Ù.

¿¹ A:

javax.sql.DataSource À¯ÇüÀÇ °´Ã¼¸¦ ¹ÝȯÇÏ´Â JDBC ¿¬°á ÆÑÅ丮¿¡ ´ëÇÑ ÂüÁ¶ ¼±¾ð

<resource-ref>
<description> Primary database </description>
<res-ref-name> jdbc/primaryDB </res-ref-name>
<res-type> javax.sql.DataSource </res-type>
<res-auth>Container</res-auth>
</resource-ref>

¿¹ B:

´ÙÀ½Àº JavaMail ¼¼¼Ç ÀÚ¿ø ÆÑÅ丮¸¦ ÂüÁ¶ÇÏ´Â ¿¹ÀÔ´Ï´Ù.

<resource-ref>
<description> mail Session </description>
<res-ref-name> mail/Session </res-ref-name>
<res-type> javax.mail.Session </res-type>
<res-auth>Container</res-auth>
</resource-ref>

<res-type>Àº ÀÚ¿ø ÆÑÅ丮ÀÇ Àüü Ŭ·¡½º À̸§ÀÔ´Ï´Ù. <res-auth> º¯¼ö¸¦ Container³ª Application¿¡ °ªÀ¸·Î ÇÒ´çÇÒ ¼ö ÀÖ½À´Ï´Ù. JavaMail ¼¼¼Ç ÀÚ¿ø ÆÑÅ丮 ±¸¼º¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº "JavaMail ÀÚ¿ø Á¤º¸"¸¦ ÂüÁ¶ÇϽʽÿÀ.

Container°¡ ÁöÁ¤µÇ¾î ÀÖ´Â °æ¿ì À¥ ÄÁÅ×À̳ʴ ÀÚ¿ø ÆÑÅ丮¸¦ JNDI Á¶È¸ ·¹Áö½ºÆ®¸®¿¡ ¹ÙÀεåÇϱâ Àü¿¡ ÀÎÁõÀ» ó¸®ÇÕ´Ï´Ù. ApplicationÀÌ ÁöÁ¤µÇ¾î ÀÖÀ¸¸é ¼­ºí¸´ÀÌ ÇÁ·Î±×·¡¹Ö ¹æ½ÄÀ¸·Î ÀÎÁõÀ» ó¸®ÇØ¾ß ÇÕ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ ÀÚ¿ø À¯ÇüÀ» ¼³¸íÇÏ´Â º°µµÀÇ ÇÏÀ§ ÄÁÅØ½ºÆ®¿¡¼­ ´Ù¾çÇÑ ÀÚ¿ø ÆÑÅ丮¸¦ Á¶È¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.

´ÙÀ½Àº ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼ÒÀÇ JDBC ¿¬°áÀ» ÀÎÁõÀ» ó¸®ÇÏ´Â ÄÁÅ×ÀÌ³Ê¿Í ¿¬°áÇϱâ À§ÇÑ ÄÚµå Á¶°¢ÀÔ´Ï´Ù.

InitialContext initContext = new InitialContext();
DataSource source =
(DataSource) initContext.lookup("java:comp/env/jdbc/primaryDB");
Connection conn = source.getConnection();

ÀÌ·¯ÇÑ ÀÚ¿ø ÂüÁ¶°¡ Á¦´ë·Î ÀÛµ¿ÇÏ·Á¸é res-ref-nameÀÌ ·±Å¸ÀÓ¿¡ À¯È¿ÇÑ ÀÚ¿ø ÆÑÅ丮¿¡ ¸ÅÇεǾî¾ß ÇÕ´Ï´Ù.

ÀÚ¿ø ȯ°æ ÂüÁ¶

ÀÚ¿ø ȯ°æ ÂüÁ¶´Â JNDI Á¶È¸¸¦ ÅëÇØ ÀÚ¿ø°ú °ü·ÃµÈ °ü¸® ´ë»ó °´Ã¼¿¡ ¾×¼¼½ºÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ JMS ´ë»ó °´Ã¼¿¡ ¾×¼¼½ºÇØ¾ß ÇÒ °æ¿ì°¡ ÀÖ½À´Ï´Ù. Ç¥ÁØ ¹èÆ÷ ¼³¸íÀÚ¿¡ Á¤ÀǵǾî ÀÖ´Â <resource-env-ref> ¿ä¼Ò¸¦ »ç¿ëÇϸé ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ÀÚ¿ø ¿ä±¸ »çÇ×À» ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù.

<resource-env-ref>¿Í <resource-ref> ¿ä¼ÒÀÇ ÁÖ¿äÇÑ Â÷ÀÌÁ¡Àº ƯÁ¤ ÀÚ¿ø ÀÎÁõ ¿ä±¸ »çÇ×ÀÌ ¾ø´Ù´Â °ÍÀÔ´Ï´Ù. µÎ °¡Áö ¿ä¼Ò ¸ðµÎ ÀÚ¿ø ÆÑÅ丮 ¼³¸íÀÚ°¡ ¹é¾÷ÇØ¾ß ÇÕ´Ï´Ù.

¿¹:

<resource-env-ref>
<description> My Topic </description>
<res-env-ref-name> jms/MyTopic </res-ref-name>
<res-env-ref-type> javax.jms.Topic </res-type>
</resource-env-ref>

´ÙÀ½ Äڵ带 »ç¿ëÇϸé JMS Ç׸ñ °´Ã¼¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

InitialContext initContext = new InitialContext();
javax.jms.Topic myTopic =
(javax.jms.Topic) initContext.lookup("java:comp/env/jms/MyTopic");

ÀÌ·¯ÇÑ resource-env-ref º¯¼ö°¡ ¿Ã¹Ù·Î ÀÛµ¿ÇÏ·Á¸é °ü¸®ÀÚ°¡ ·±Å¸ÀÓ¿¡ ´ë»ó ÀÚ¿ø ÆÑÅ丮¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô ¸¸µé¾î¾ß ÇÕ´Ï´Ù. JMS Ç׸ñ ¹× ´ë±â¿­ ´ë»ó ¾×¼¼½º¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº 11Àå, "JMS ¼­ºñ½º »ç¿ë"À» ÂüÁ¶ÇϽʽÿÀ.

UserTransaction ÂüÁ¶

J2EE´Â JNDI À̸§ java:comp/UserTransaction¿¡¼­ ÄÁÅ×À̳ʰ¡ UserTransaction °´Ã¼ ±¸ÇöÀ» Á¦°øÇÒ °ÍÀ» ¿ä±¸ÇÕ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥Àº UserTransaction °´Ã¼¸¦ »ç¿ëÇÏ¿© Æ®·£Àè¼ÇÀ» ½ÃÀÛ, ¿Ï°á ¹× Áß´ÜÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÇÁ·Î±×·¡¹Ö ¹æ½ÄÀ¸·Î Æ®·£Àè¼ÇÀ» ½ÃÀÛÇÏ°í ¼öÇàÇϱâ À§ÇØ ±¸¼º ¿ä¼Ò´Â java:comp/UserTransaction¿¡ ´ëÇØ JNDI Á¶È¸¸¦ ÇÏ¿© ÄÁÅ×À̳ÊÀÇ ±âº» Æ®·£Àè¼Ç Á¶Á¤ÀÚ¿¡ ´ëÇÑ ÂüÁ¶¸¦ ¾ò½À´Ï´Ù. ¹ÝȯµÈ °´Ã¼´Â javax.transaction.UserTransaction ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϸç ÇÁ·Î±×·¥¿¡¼­ Æ®·£Àè¼ÇÀÇ ½ÃÀÛ, ¿Ï°á, ·Ñ¹é ¹× »óÅ Äõ¸®¸¦ À§ÇØ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Sun ONE Application ServerÀÇ JNDI ±¸ÇöÀº ÀÌ·¯ÇÑ Æ®·£Àè¼Ç Á¶Á¤ÀÚ Á¶È¸¸¦ Áö¿øÇÕ´Ï´Ù. javax.transaction.UserTransaction ÀÎÅÍÆäÀ̽º¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº "Æ®·£Àè¼Ç ¼­ºñ½º »ç¿ë"À» ÂüÁ¶ÇϽʽÿÀ.

Ãʱâ À̸§ ÁöÁ¤ ÄÁÅØ½ºÆ®

Sun ONE Application Server¿¡¼­ Áö¿øÇÏ´Â À̸§ ÁöÁ¤ ±â´ÉÀº ±âº»ÀûÀ¸·Î J2EE 1.3À» ±â¹ÝÀ¸·Î ÇÏ¸ç ¸î °¡Áö Çâ»óµÈ ±â´ÉÀÌ Ãß°¡µÇ¾ú½À´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò°¡ InitialContext()¸¦ ÅëÇØ Ãʱâ ÄÁÅØ½ºÆ®¸¦ ¸¸µé¸é Sun ONE Application Server´Â ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ À̸§ ÁöÁ¤ ȯ°æ¿¡ ´ëÇÑ ÇÚµé ¿ªÇÒÀ» ÇÏ´Â °´Ã¼¸¦ ¹ÝȯÇÕ´Ï´Ù. ±×·¯¸é ÀÌ °´Ã¼´Â java:comp/env À̸§ °ø°£¿¡ ´ëÇÑ ÇÏÀ§ ÄÁÅØ½ºÆ®¸¦ Á¦°øÇÕ´Ï´Ù. °¢ ÀÀ¿ë ÇÁ·Î±×·¥Àº °íÀ¯ÇÑ À̸§ °ø°£À» °®½À´Ï´Ù. Áï, °¢ ÀÀ¿ë ÇÁ·Î±×·¥º°·Î java:comp/env À̸§ °ø°£ÀÌ Á¸ÀçÇϹǷΠÇÑ ÀÀ¿ë ÇÁ·Î±×·¥ À̸§ °ø°£¿¡ ¹ÙÀεùµÈ °´Ã¼´Â ´Ù¸¥ ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ¹ÙÀεùµÈ °´Ã¼¿Í Ãæµ¹ÇÏÁö ¾Ê½À´Ï´Ù.

COSNaming ¼­ºñ½º

EJB »óÈ£ ¿î¿ë¼º ÇÁ·ÎÅäÄÝÀº JNDI API¸¦ »ç¿ëÇÏ¿© EJB °´Ã¼¸¦ Á¶È¸ÇÒ ¶§ COSNaming ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÒ °ÍÀ» ¿ä±¸ÇÕ´Ï´Ù.

CORBA CosNaming ¼­ºñ½º¿¡¼­ EJBHome °´Ã¼ ÂüÁ¶¸¦ °Ô½ÃÇÏ·Á¸é EJB ÄÁÅ×À̳ʰ¡ ÇÊ¿äÇÕ´Ï´Ù. CosNaming ¼­ºñ½º´Â Á¤ÀǵǾî ÀÖ´Â CosNaming ¸ðµâ¿¡¼­ IDL ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇØ¾ß Çϸç Ŭ¶óÀÌ¾ðÆ®°¡ IIOP¸¦ ÅëÇØ È®ÀÎ ¹× ¸ñ·Ï ÀÛ¾÷À» È£ÃâÇÒ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.

CosNaming ¼­ºñ½º´Â ·çÆ® NamingContext °´Ã¼ÀÇ È£½ºÆ®, Æ÷Æ® ¹× °´Ã¼ ۸¦ Á¦°øÇϱâ À§ÇØ CORBA Interoperable Name Service »ç¾çÀÇ ¿ä±¸ »çÇ×À» µû¶ó¾ß ÇÕ´Ï´Ù. CosNaming ¼­ºñ½º´Â ±¤°í È£½ºÆ®, Æ÷Æ® ¹× °´Ã¼ Ű¿¡¼­ ·çÆ® NamingContextÀÇ IIOP È£ÃâÀ» ó¸®ÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù.

Ŭ¶óÀÌ¾ðÆ® ÄÁÅ×À̳Ê(Áï, EJB, À¥ ¶Ç´Â ÀÀ¿ë ÇÁ·Î±×·¥ Ŭ¶óÀÌ¾ðÆ® ÄÁÅ×À̳Ê)´Â Ç¥ÁØ CosNaming API¸¦ »ç¿ëÇÏ¿© ¼­¹öÀÇ CosNaming ¼­ºñ½º¿¡ ¿¬°áÇϰí EJBHome °´Ã¼¸¦ È®ÀÎÇϱâ À§ÇØ Interoperable Name Service »ç¾ç¿¡ Á¤ÀǵǾî ÀÖ´Â ¸ÞÄ¿´ÏÁòÀ» »ç¿ëÇÏ´Â JNDI CosNaming ¼­ºñ½º °ø±ÞÀÚ¸¦ Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù. JNDI CosNaming ¼­ºñ½º °ø±ÞÀÚ´Â JNDI SPI ±¸Á¶¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ°í »ç¿ëÇÏÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù. JNDI CosNaming ¼­ºñ½º °ø±ÞÀÚ´Â ´ÙÀ½ URL·ÎºÎÅÍ °´Ã¼ ÂüÁ¶¸¦ ¸¸µé¾î ¼­¹ö CosNaming ¼­ºñ½ºÀÇ ·çÆ® NamingContext¿¡ ¾×¼¼½ºÇØ¾ß ÇÕ´Ï´Ù.

corbaloc:iiop:1.2@<host>:<port>/<objectkey> (¿©±â¼­ <host>, <port>, <objectkey>´Â ¼­¹öÀÇ CosNaming ¼­ºñ½º ¶Ç´Â ÀÌ¿Í µ¿µîÇÑ ¸ÞÄ¿´ÏÁòÀ» »ç¿ëÇÏ¿© ±¤°íÇÑ ·çÆ® NamingContext¿¡ ÇØ´çÇÏ´Â °ªÀÓ)

¹èÆ÷ ½Ã Ŭ¶óÀÌ¾ðÆ® ÄÁÅ×À̳ÊÀÇ °³¹ßÀÚ´Â ¼­¹öÀÇ CosNaming ¼­ºñ½ºÀÇ È£½ºÆ®, Æ÷Æ® ¹× °´Ã¼ Ű¿Í Ŭ¶óÀÌ¾ðÆ® ±¸¼º ¿ä¼Ò ¹èÆ÷ ¼³¸íÀÚÀÇ °¢ ejb-ref ¿ä¼Ò¿¡ ´ëÇØ ¼­¹öÀÇ À̸§ °ø°£À» °Ë»öÇÏ´Â °Í°ú °°Àº ÀÛ¾÷À» ¼öÇàÇÏ¿© ¼­¹ö EJBHome °´Ã¼ÀÇCosNaming À̸§À» ¾ò¾î¾ß ÇÕ´Ï´Ù. JNDI Á¶È¸ È£Ã⠽à Ŭ¶óÀÌ¾ðÆ® Äڵ忡¼­ »ç¿ëÇÏ´Â ejb-ref-nameÀº EJBHome °´Ã¼ÀÇ CosNaming À̸§¿¡ ¿¬°áµÇ¾î¾ß ÇÕ´Ï´Ù. ·±Å¸ÀÓ¿¡ Ŭ¶óÀÌ¾ðÆ® ±¸¼º ¿ä¼ÒÀÇ JNDI Á¶È¸ È£ÃâÀº CosNaming ¼­ºñ½º °ø±ÞÀÚ¸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌ ¼­ºñ½º °ø±ÞÀÚ´Â ¼­¹öÀÇ CosNaming ¼­ºñ½º¿¡ ¿¬°áÇÏ¿© CosNaming À̸§À» °áÁ¤ÇÑ ´ÙÀ½ EJBHome °´Ã¼ ÂüÁ¶¸¦ Ŭ¶óÀÌ¾ðÆ® ±¸¼º ¿ä¼Ò¿¡ ¹ÝȯÇÕ´Ï´Ù.

EJBHome °´Ã¼ÀÇ À̸§Àº Á¦°øµÈ È£½ºÆ®¿Í Æ÷Æ®¿¡¼­ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Â CosNaming ¼­ºñ½ºÀÇ À̸§ °ø°£ ³»¿¡ ÀÖÀ¸¹Ç·Î Ŭ¶óÀÌ¾ðÆ®¿Í ¼­¹ö ÄÁÅ×À̳ÊÀÇ À̸§ °ø°£À» °áÇÕÇÒ Çʿ䰡 ¾ø½À´Ï´Ù.

CosNaming »ç¿ëÀÇ ÀåÁ¡Àº ºñ J2EE CORBA Ŭ¶óÀÌ¾ðÆ® ¹× ¼­¹ö¿ÍÀÇ »óÈ£ ¿î¿ë¼ºÀ» ºñ·ÔÇÏ¿© »óÈ£ ¿î¿ë¼º¿¡ ÇÊ¿äÇÑ IIOP ÀÎÇÁ¶ó¿Í ´õ Àß ÅëÇյȴٴ Á¡ÀÔ´Ï´Ù. CosNamingÀº CORBA °´Ã¼¸¸ ÀúÀåÇϱ⠶§¹®¿¡ °ø±Þ¾÷ü´Â ´Ù¸¥ ÀÚ¿øÀ» ÀúÀåÇÏ´Â µ¥ ´Ù¸¥ ¿£ÅÍÇÁ¶óÀÌÁî µð·ºÅ丮 ¼­ºñ½º¸¦ »ç¿ëÇÒ °¡´É¼ºÀÌ ³ô½À´Ï´Ù.

Sun ONE Application Server´Â J2EE 1.3 »ç¾ç¿¡ µû¶ó JNDIÀÇ ¸ðµç À̸§ ÁöÁ¤ ÀÚ¿øÀ» ÅëÇÕÇÕ´Ï´Ù.

CosNaming °ø±ÞÀÚ    

Àü¿ª JNDI À̸§ °ø°£(IIOP ÀÀ¿ë ÇÁ·Î±×·¥ Ŭ¶óÀÌ¾ðÆ® ¾×¼¼½º °¡´É)À» Áö¿øÇϱâ À§ÇØ Sun ONE Application Server´Â CORBA ÂüÁ¶(¿ø°Ý EJB ÂüÁ¶) ¹ÙÀεùÀ» Áö¿øÇÏ´Â J2EE ±â¹Ý CosNaming °ø±ÞÀÚ¸¦ Æ÷ÇÔÇÕ´Ï´Ù. IIOP Ŭ¶óÀÌ¾ðÆ®¿¡ ¹ÝȯµÇ´Â InitialContext´Â CosNaming °ø±ÞÀÚÀÔ´Ï´Ù. Sun ONE Application Server ¼­¹öÀÇ ÀνºÅϽº´Â IIOP Ŭ¶óÀÌ¾ðÆ®°¡ Á¶È¸ÇÏ°í ¹ÙÀεåÇÏ´Â Entity BeanÀ» µî·ÏÇÕ´Ï´Ù.

Sun ONE Application Server¿¡¼­´Â CosNaming ¹× ·ÎÄà JNDI À̸§ ÁöÁ¤ ȯ°æ¿¡ ÀúÀåµÈ °´Ã¼¸¦ ÀÓ½ÃÀûÀÎ °ÍÀ¸·Î Ãë±ÞÇÕ´Ï´Ù. Áï, ¼­¹ö°¡ ½ÃÀÛµÉ ¶§¿Í ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ Àç·ÎµåµÉ ¶§¸¶´Ù ¸ðµç °ü·Ã °´Ã¼°¡ À̸§ °ø°£¿¡ ´Ù½Ã ¹ÙÀεåµË´Ï´Ù. CORBA/IIOP Ŭ¶óÀÌ¾ðÆ® ±¸¼º Áö¿ø¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº "CORBA/IIOP Ŭ¶óÀÌ¾ðÆ®¸¦ À§ÇÑ ¼­¹ö ±¸¼º"À» ÂüÁ¶ÇϽʽÿÀ.

JNDI ¿¬°á ÆÑÅ丮

J2EE À¥ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ °æ¿ì web.xml ÆÄÀÏÀÇ ¹èÆ÷ ¼³¸íÀÚ´Â ÀÀ¿ë ÇÁ·Î±×·¥ ȯ°æ Ç׸ñ, ÀÚ¿ø °ü¸®ÀÚ(¿¹: SQL µ¥ÀÌÅÍ ¼Ò½º) ¿¬°á ÆÑÅ丮 ¶Ç´Â EJB¿¡ ´ëÇÑ ÂüÁ¶¸¦ Á¤ÀÇÇϱâ À§ÇÑ ÀÚ¸® Ç¥½ÃÀÚÀÔ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥Àº J2EE ÄÁÅ×À̳ʰ¡ Á¦°øÇÏ´Â JNDI InitialNamingContext¸¦ »ç¿ëÇÏ¿© ÀÌ·¯ÇÑ ÂüÁ¶¸¦ Á¶È¸ÇÕ´Ï´Ù. µû¶ó¼­ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¼Ò½º Äڵ带 ¾×¼¼½ºÇϰųª ¼öÁ¤ÇÏÁö ¾Ê°í ¹èÆ÷ ¼³¸íÀÚ¸¸ º¯°æÇÏ¿© ÀÀ¿ë ÇÁ·Î±×·¥À» ´Ù¾çÇÑ ÀÀ¿ë ÇÁ·Î±×·¥ ¼­¹ö ȯ°æ¿¡ À̽ÄÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¶Âù°¡Áö·Î J2EE´Â Entity Bean (ejb-jar.xml)°ú IIOP ÀÀ¿ë ÇÁ·Î±×·¥ Ŭ¶óÀ̾ðÆ®(application-client.xml)ÀÇ ¹èÆ÷ ¼³¸íÀÚ¸¦ ÀÌ·¯ÇÑ JNDI À̸§ ÁöÁ¤ ÂüÁ¶¸¦ À§ÇÑ ÁÖ¿ä ¹æ¹ýÀ¸·Î »ç¿ëÇÕ´Ï´Ù.

¿¬°á ÆÑÅ丮´Â J2EE ±¸¼º ¿ä¼Ò°¡ ÀÚ¿ø¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â ¿¬°á °´Ã¼¸¦ ¸¸µå´Â °´Ã¼ÀÔ´Ï´Ù. µ¥ÀÌÅͺ£À̽ºÀÇ ¿¬°á ÆÑÅ丮´Â javax.sql.DataSource °´Ã¼À̸ç ÀÌ °´Ã¼´Â java.sql.Connection °´Ã¼¸¦ ¸¸µì´Ï´Ù.

Sun ONE Application Server¿¡¼­ ´ÙÀ½ ÀÚ¿ø ¹× ÀÚ¿ø ÆÑÅ丮¿¡ ¾×¼¼½ºÇϱâ À§ÇÑ ¹æ¹ýÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

¸ðµç Sun ONE Application Server ÀÚ¿ø ÆÑÅ丮´Â server.xmlÀÇ <resources> </resources> ÅÂ±× ¾È¿¡ ÁöÁ¤µÇ¾î ÀÖÀ¸¸ç jndi-name ¼Ó¼ºÀ» »ç¿ëÇÏ¿© ÁöÁ¤ÇÑ JNDI À̸§À» °®½À´Ï´Ù. ÀÌ ¼Ó¼ºÀº ¼­¹ö Â÷¿øÀÇ À̸§ °ø°£¿¡¼­ ÆÑÅ丮¸¦ µî·ÏÇÒ ¶§ »ç¿ëµË´Ï´Ù. ¹èÆ÷ÀÚ´Â resource-ref-mapping ¿ä¼Ò¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚ ÁöÁ¤, ÀÀ¿ë ÇÁ·Î±×·¥º° ÀÚ¿ø ÂüÁ¶ À̸§(resource-ref ¶Ç´Â resource-env-ref ¿ä¼Ò ³»¿¡ ¼±¾ðµÊ)À» ¼­¹ö Â÷¿øÀÇ ÀÚ¿ø ÆÑÅ丮¿¡ ¸ÅÇÎÇÒ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼­ ÁÖ¾îÁø ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ´ëÇØ ¾î¶² JDBC µå¶óÀ̹ö ¹× ±âŸ ÀÚ¿ø ÆÑÅ丮¸¦ »ç¿ëÇÒÁö¿Í °ü·ÃÇÏ¿© ¹èÆ÷ ½Ã°£À» °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

»ç¿ëÀÚ Á¤ÀÇ ÀÚ¿øÀº ·ÎÄà JNDI ¸®Æ÷ÁöÅ丮¿¡ ¾×¼¼½ºÇÏ°í ¿ÜºÎ ÀÚ¿øÀº ¿ÜºÎ JNDI ¸®Æ÷ÁöÅ丮¿¡ ¾×¼¼½ºÇÕ´Ï´Ù. µÎ °¡Áö À¯ÇüÀÇ ÀÚ¿ø ¸ðµÎ »ç¿ëÀÚ ÁöÁ¤ ÆÑÅ丮 Ŭ·¡½º ¿ä¼Ò, JNDI À̸§ ¼Ó¼º µîÀ» ÇÊ¿ä·Î ÇÕ´Ï´Ù. ÀÌ Àý¿¡¼­´Â J2EE ÀÚ¿ø¿¡ ´ëÇØ JNDI ¿¬°á ÆÑÅ丮 ÀÚ¿øÀ» ±¸¼ºÇÏ´Â ¹æ¹ý°ú ÀÌ·¯ÇÑ ÀÚ¿øÀ» ¾×¼¼½ºÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.

ÀÌ Àý¿¡¼­´Â ´ÙÀ½ Ç׸ñ¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.

»ç¿ëÀÚ Á¤ÀÇ ÀÚ¿ø ¸¸µé±â

server.xml¿¡ Á¤ÀǵǾî ÀÖ´Â custom-resource ¿ä¼Ò´Â »ç¿ëÀÚ Á¤ÀÇ ¼­¹ö Â÷¿øÀÇ ÀÚ¿ø °´Ã¼ ÆÑÅ丮¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù. ÀÌ·¯ÇÑ °´Ã¼ ÆÑÅ丮´Â javax.naming.spi.ObjectFactory ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÕ´Ï´Ù. ÀÌ ¿ä¼Ò´Â JNDI À̸§(´Ù¸¥ Sun ONE Application Server ÀÚ¿ø °°Àº jndi-name ÇÏÀ§ ¿ä¼Ò¸¦ ÅëÇØ ÁöÁ¤)À» ¿¬°áÇÏ¿© ¼­¹ö Â÷¿ø À̸§ °ø°£, À¯Çü, ÀÚ¿ø ÆÑÅ丮 Ŭ·¡½ºÀÇ À̸§ ¹× °°Àº ³»¿ëÀ» ÀνºÅϽºÈ­ÇÏ´Â µ¥ »ç¿ëµÇ´Â Ç¥ÁØ µî·Ï Á¤º¸ ÁýÇÕ¿¡¼­ »ç¿ëµÇµµ·Ï ÇÕ´Ï´Ù.

´ÙÀ½ ¿¹¿¡¼­´Â javax.naming.spi.ObjectFactory ÀÎÅÍÆäÀ̽ºÀÇ ±¸ÇöÀ» ¼³¸íÇÕ´Ï´Ù.

<resources> <custom-resource jndi-name="test/myBean"
res-type="test.MyBean"factory-class="test.MyBeanFactory"
enabled="true">

<property name="foo" value="test custom bean prop" />
</custom-resource>
</resources>

ÀÚ¿ø ÂüÁ¶ÀÇ È¯°æ ÂüÁ¶¿Í EJB ÂüÁ¶°¡ server.xmlÀÇ custom-resource¿Í external-jndi-resource ű׸¦ »ç¿ëÇÏ¿© Á¤ÀÇÇÑ ±¸¼º ¼­¹ö Â÷¿ø ÀÚ¿ø¿¡ ¿¬°áµÇµµ·Ï ÇØ¾ß ÇÕ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò¸¦ µ¿ÀûÀ¸·Î Àç¹èÆ÷ÇÏ´Â °ÍÀº JNDI À̸§ ÁöÁ¤ ȯ°æ°ú °ü·ÃµÈ ¹®Á¦ÀÔ´Ï´Ù. Sun ONE Application Server´Â ÀÀ¿ë ÇÁ·Î±×·¥ °ü·Ã ÂüÁ¶¸¦ ¸ðµÎ ÇØÁ¦ÇÏ°í ¸ðµç »õ·Î¿î ÂüÁ¶¸¦ »õ·Î ¼³Ä¡ÇÑ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ À̸§ ÁöÁ¤ ÄÁÅØ½ºÆ®¿¡ ´Ù½Ã ¹ÙÀεåÇÕ´Ï´Ù.

°ü¸® ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚ Á¤ÀÇ ÀÚ¿øÀ» ¸¸µé·Á¸é ´ÙÀ½À» ¼öÇàÇÕ´Ï´Ù.

  1. °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ ¿ÞÂÊ Ã¢¿¡¼­ JNDI ±¸¼ºÀ» ¼öÁ¤ÇÒ Sun ONE Application Server ÀνºÅϽº¸¦ ¿±´Ï´Ù.
  2. "JNDI" ÅÇÀ» ¿­°í "»ç¿ëÀÚ Á¤ÀÇ ÀÚ¿ø"À» ´©¸¨´Ï´Ù. »ç¿ëÀÚ Á¤ÀÇ ÀÚ¿øÀÌ ÀÌ¹Ì ¸¸µé¾îÁ® ÀÖÀ¸¸é ¿À¸¥ÂÊ Ã¢¿¡ ³ª¿­µË´Ï´Ù. »õ »ç¿ëÀÚ Á¤ÀÇ ÀÚ¿øÀ» ¸¸µé·Á¸é "»õ·Î ¸¸µé±â"¸¦ ´©¸¨´Ï´Ù. °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ ¿À¸¥ÂÊ Ã¢¿¡ "JNDI »ç¿ëÀÚ Á¤ÀÇ ÀÚ¿ø ÆäÀÌÁö"°¡ Ç¥½ÃµË´Ï´Ù.

±×¸² 10-2 JNDI »ç¿ëÀÚ Á¤ÀÇ ÀÚ¿ø ÆäÀÌÁö

JNDI »ç¿ëÀÚ Á¤ÀÇ ÀÚ¿ø ÆäÀÌÁö¿¡ ´ëÇÑ ±¸¼º °¡´ÉÇÑ ¼³Á¤À» º¸¿©ÁÖ´Â ±×¸²ÀÔ´Ï´Ù.

  1. ÀÚ¿øÀ» ¾×¼¼½ºÇÏ´Â µ¥ »ç¿ëÇÒ À̸§À» "JNDI À̸§" Çʵ忡 ÀÔ·ÂÇÕ´Ï´Ù. ÀÌ À̸§Àº JNDI À̸§ ÁöÁ¤ ¼­ºñ½º¿¡ µî·ÏµË´Ï´Ù.
  2. À§ÀÇ ¿¹¿¡¼­¿Í °°ÀÌ "ÀÚ¿ø À¯Çü" Çʵ忡 Àüü À¯Çü Á¤ÀǸ¦ ÀÔ·ÂÇÕ´Ï´Ù. ÀÚ¿ø À¯Çü Á¤ÀÇ´Â xxx.xxx Çü½ÄÀ» µû¶ó¾ß ÇÕ´Ï´Ù.
  3. ¸¸µé°í ÀÖ´Â »ç¿ëÀÚ Á¤ÀÇ ÀÚ¿ø¿¡ ´ëÇÑ ÆÑÅ丮 Ŭ·¡½º À̸§À» "ÆÑÅ丮 Ŭ·¡½º" Çʵ忡 ÀÔ·ÂÇÕ´Ï´Ù. ÆÑÅ丮 Ŭ·¡½º´Â ÆÑÅ丮 Ŭ·¡½º¿¡ ´ëÇÑ »ç¿ëÀÚ ÁöÁ¤ À̸§ÀÔ´Ï´Ù. ÀÌ Å¬·¡½º´Â javax.naming.spi.ObjectFactory ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÕ´Ï´Ù.
  4. ¸¸µé°í ÀÖ´Â ÀÚ¿ø¿¡ ´ëÇÑ ¼³¸íÀ» "¼³¸í" Çʵ忡 ÀÔ·ÂÇÕ´Ï´Ù. ÀÌ ¼³¸íÀº ¹®ÀÚ¿­ °ªÀ̹ǷΠÃÖ´ë 250ÀÚ±îÁö ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù.
  5. »ç¿ëÀÚ Á¤ÀÇ ÀÚ¿øÀ» Ȱ¼ºÈ­ÇÏ·Á¸é "»ç¿ëÀÚ Á¤ÀÇ ÀÚ¿ø »ç¿ë" È®ÀζõÀ» ¼±ÅÃÇÕ´Ï´Ù.
  6. »ç¿ëÀÚ Á¤ÀÇ ÀÚ¿øÀ» ÀúÀåÇÏ·Á¸é "È®ÀÎ"À» ´©¸¨´Ï´Ù.

¿ÜºÎ JNDI ÀÚ¿ø ¸¸µé±â

°ü¸® ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© ¿ÜºÎ ÀÚ¿øÀ» ¸¸µé·Á¸é ´ÙÀ½À» ¼öÇàÇÕ´Ï´Ù.

  1. °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ ¿ÞÂÊ Ã¢¿¡¼­ JNDI ±¸¼ºÀ» ¼öÁ¤ÇÒ Sun ONE Application Server ÀνºÅϽº¸¦ ¿±´Ï´Ù.
  2. JNDI¸¦ ¿­°í "¿ÜºÎ ÀÚ¿ø"À» ¼±ÅÃÇÕ´Ï´Ù. ¿ÜºÎ ÀÚ¿øÀÌ ÀÌ¹Ì ¸¸µé¾îÁ® ÀÖÀ¸¸é ¿À¸¥ÂÊ Ã¢¿¡ ³ª¿­µË´Ï´Ù. »õ ¿ÜºÎ ÀÚ¿øÀ» ¸¸µé·Á¸é "»õ·Î ¸¸µé±â"¸¦ ´©¸¨´Ï´Ù.
  3. °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ ¿À¸¥ÂÊ Ã¢¿¡ "JNDI ¿ÜºÎ ÀÚ¿ø ÆäÀÌÁö"¿¡ Ç¥½ÃµÈ ´ÙÀ½ âÀÌ ³ªÅ¸³³´Ï´Ù.

±×¸² 10-3 JNDI ¿ÜºÎ ÀÚ¿ø ÆäÀÌÁö

±¸¼º °¡´ÉÇÑ JNDI ¿ÜºÎ ÀÚ¿ø ¿É¼ÇÀ» º¸¿©ÁÖ´Â ±×¸²ÀÔ´Ï´Ù.

  1. ÀÚ¿øÀ» ¾×¼¼½ºÇÏ´Â µ¥ »ç¿ëÇÒ À̸§À» "JNDI À̸§" Çʵ忡 ÀÔ·ÂÇÕ´Ï´Ù. ÀÌ À̸§Àº JNDI À̸§ ÁöÁ¤ ¼­ºñ½º¿¡ µî·ÏµË´Ï´Ù.
  2. À§ÀÇ ¿¹¿¡¼­¿Í °°ÀÌ "ÀÚ¿ø À¯Çü" Çʵ忡 Àüü À¯Çü Á¤ÀǸ¦ ÀÔ·ÂÇÕ´Ï´Ù. ÀÚ¿ø À¯Çü Á¤ÀÇ´Â xxx.xxx Çü½ÄÀ» µû¶ó¾ß ÇÕ´Ï´Ù.
  3. ¿ÜºÎ ¸®Æ÷ÁöÅ丮¿¡¼­ Á¶È¸ÇÒ JNDI °ªÀ» "JNDI Á¶È¸" Çʵ忡 ÀÔ·ÂÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, Bean Ŭ·¡½º¸¦ Å×½ºÆ®Çϱâ À§ÇØ ¿ÜºÎ ÀÚ¿øÀ» ¸¸µé¾î ¿ÜºÎ ¸®Æ÷ÁöÅ丮¿¡ ¿¬°áÇÏ´Â °æ¿ì JNDI Á¶È¸´Â cn=testmybeanÀ» ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù.
  4. com.sun.jndi.ldap¿Í °°Àº JNDI ÆÑÅ丮 Ŭ·¡½º ¿ÜºÎ ¸®Æ÷ÁöÅ丮¸¦ "ÆÑÅ丮 Ŭ·¡½º" Çʵ忡 ÀÔ·ÂÇÕ´Ï´Ù. ÀÌ Å¬·¡½º´Â javax.naming.spi.ObjectFactory ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÕ´Ï´Ù.
  5. ¸¸µé°í ÀÖ´Â ÀÚ¿ø¿¡ ´ëÇÑ ¼³¸íÀ» "¼³¸í" Çʵ忡 ÀÔ·ÂÇÕ´Ï´Ù. ÀÌ ¼³¸íÀº ¹®ÀÚ¿­ °ªÀ̹ǷΠÃÖ´ë 250ÀÚ±îÁö ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù.
  6. ¿ÜºÎ ÀÚ¿øÀ» Ȱ¼ºÈ­ÇÏ·Á¸é "¿ÜºÎ ÀÚ¿ø »ç¿ë" È®ÀζõÀ» ¼±ÅÃÇÕ´Ï´Ù.
  7. »ç¿ëÀÚ Á¤ÀÇ ÀÚ¿øÀ» ÀúÀåÇÏ·Á¸é "È®ÀÎ"À» ´©¸¨´Ï´Ù.

¿ÜºÎ JNDI ¸®Æ÷ÁöÅ丮 ¾×¼¼½º

Sun ONE Application Server¿¡¼­ ½ÇÇàµÇ´Â ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ °æ¿ì ¿ÜºÎ JNDI ¸®Æ÷ÁöÅ丮¿¡ ÀúÀåµÈ ÀÚ¿ø¿¡ ¾×¼¼½ºÇØ¾ß ÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, LDAP ¼­¹ö¿¡ ÀÏ¹Ý Java °´Ã¼¸¦ Java ½ºÅ°¸¶º°·Î ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. »ç¿ëÀÚ´Â ¿ÜºÎ JNDI ÀÚ¿ø ¿ä¼Ò¸¦ »ç¿ëÇÏ¿© ÀÌ·¯ÇÑ ¿ÜºÎ ÀÚ¿ø ¸®Æ÷ÁöÅ丮¸¦ ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿ÜºÎ JNDI ÆÑÅ丮´Â javax.naming.spi.InitialContextFactory ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù.

¿¹:

<resources>
<!-- external-jndi-resource element specifies how to access J2EE resources
-- stored in an external JNDI repository. The following example
-- illustrates how to access a java object stored in LDAP.
-- factory-class element specifies the JNDI InitialContext factory that
-- needs to be used to access the resource factory. property element
-- corresponds to the environment applicable to the external JNDI context
-- and jndi-lookup-name refers to the JNDI name to lookup to fetch the
-- designated (in this case the java) object.
-->
<external-jndi-resource jndi-name="test/myBean"
jndi-lookup-name="cn=myBean"
res-type="test.myBean"
factory-class="com.sun.jndi.ldap.LdapCtxFactory">

<property name="PROVIDER-URL" value="ldap://ldapserver:389/o=myObjects" />
<property name="SECURITY_AUTHENTICATION" value="simple" />
<property name="SECURITY_PRINCIPAL", value="cn=joeSmith, o=Engineering" />
<property name="SECURITY_CREDENTIALS" value="changeit" />
</external-jndi-resource>
</resources>

ÀÀ¿ë ÇÁ·Î±×·¥ ÀÚ¿ø ÂüÁ¶ ¸ÅÇÎ

ÀÀ¿ë ÇÁ·Î±×·¥ °ü·Ã ÀÚ¿ø ÂüÁ¶´Â ¹Ì¸® Á¤ÀÇµÈ ¼­¹ö Â÷¿ø ÀÚ¿ø ÆÑÅ丮¿¡ ¸ÅÇÎÇØ¾ß ÇÕ´Ï´Ù. À̶§ Sun ONE Application Server °ü·Ã ÀÚ¿ø ÂüÁ¶ ¸ÅÇÎ ¿ä¼Ò¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

´ÙÀ½ ¿¹¿¡¼­´Â ÀÚ¿ø ÂüÁ¶°¡ JDBC µ¥ÀÌÅÍ ¼Ò½º¿¡ ÁöÁ¤µÇ¾î ÀÖ´Â À¥ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¹èÆ÷ ¼³¸íÀÚÀÎ web.xmlÀ» »ìÆìº¼ °ÍÀÔ´Ï´Ù.

<resource-ref>
<res-ref-name> jdbc/EstoreDataSource </res-ref-name>
<res-type> javax.sql.DataSource </res-type>
<res-auth>Container</res-auth>
</resource-ref>

¿øÇÏ´Â res-ref-nameÀ» ´ÙÀ½°ú °°ÀÌ ÄÁÅ×ÀÌ³Ê Â÷¿ø Orcale JDBC ¿¬°á ÀÚ¿ø ÆÑÅ丮¿¡ ¸ÅÇÎÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

<resource-ref>
<res-ref-name> jdbc/EstoreDataSource </resource-ref-name>
<jndi-name> jdbc/estore/InventoryDB </jndi-name>
</resource-ref>

URL ¿¬°á ÆÑÅ丮 ÀÚ¿ø Á¤º¸

URL ¿¬°á ÆÑÅ丮ÀÇ °æ¿ì server.xml¿¡ Á¤ÀǵǾî ÀÖ´Â ÀÚ¿øÀÌ ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù. ÇØ´ç Sun ONE Application Server ÀÀ¿ë ÇÁ·Î±×·¥(À¥ ¶Ç´Â ejb) ¹èÆ÷ ¼³¸íÀÚÀÇ jndi-name ¿ä¼Ò°¡ ´ë»ó URLÀ» ÁöÁ¤ÇÕ´Ï´Ù.

¿¹¸¦ µé¾î, À¥ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¹èÆ÷ ¼³¸íÀÚ web.xmlÀÌ java.net.URL ÀÚ¿ø ÂüÁ¶¸¦ ÁöÁ¤Çϰí sun-web.xml¿¡ ÀÖ´Â URL http://www.sun.com/index.html¿¡ ¸ÅÇÎµÈ´Ù°í °¡Á¤ÇÕ´Ï´Ù.

¸ÅÇÎÀº ´ÙÀ½°ú °°À» °ÍÀÔ´Ï´Ù.

<resource-ref>
<res-ref-name>myURL</res-ref-name>
<res-type>java.net.URL</res-type>
<res-auth>Container</res-auth>
</resource-ref>

<sun-web-app>
<resource-ref>
<res-ref-name>myURL</res-ref-name>
<jndi-name> http://www.sun.com/index.html </jndi-name>
</resource-ref>
</sun-web-app>

ÀÀ¿ë ÇÁ·Î±×·¥ ÀÚ¿ø ȯ°æ ÂüÁ¶ ¸ÅÇÎ

ÀÀ¿ë ÇÁ·Î±×·¥ °ü·Ã ÀÚ¿ø ȯ°æ ÂüÁ¶ ¼±¾ðÀº ÀÀ¿ë ÇÁ·Î±×·¥ ¼­¹öÀÇ ·±Å¸ÀÓ È¯°æ¿¡¼­ »ç¿ë °¡´ÉÇÑ ´ë»ó ÀÚ¿ø °´Ã¼¿¡ ¸ÅÇεǾî¾ß ÇÕ´Ï´Ù. Sun ONE Application Server °ü·Ã ±¸¼º ÆÄÀÏ¿¡ Á¤ÀǵǾî ÀÖ´Â ÀÚ¿ø ȯ°æ ¸ÅÇÎ ¿ä¼Ò¸¦ »ç¿ëÇÏ¿© ¹èÆ÷ÀÚ´Â ´ÙÀ½°ú °°ÀÌ ¸ÅÇÎÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿¹:

<resource-env-ref>
<description> My Topic </description>
<res-env-ref-name> jms/MyTopic </res-ref-name>
<res-env-ref-type> javax.jms.Topic </res-type>
</resource-env-ref>

ÀÌ ÂüÁ¶´Â server.xml¿¡ Á¤ÀǵǾî ÀÖ´Â jms/iMQ/Topics/Stocks/SUNW Ç׸ñ¿¡ ¸ÅÇε˴ϴÙ. ÀÚ¼¼ÇÑ ³»¿ëÀº Sun ONE Application Server Administrator’s Configuration File Reference¸¦ ÂüÁ¶ÇϽʽÿÀ.

<resource-env-ref-mapping>
<res-env-ref-name> jms/MyTopic </res-ref-name>
<jndi-name> jms/iMQ/Topics/Stocks/SUNW </jndi-name>
</resource-env-ref-mapping>

EJB ÂüÁ¶ ¸ÅÇÎ

´ë»ó Enterprise Bean¿¡ »ç¿ëµÈ ejb-name¿¡¼­ ÀÀ¿ë ÇÁ·Î±×·¥ Äڵ忡 »ç¿ëµÈ ½ÇÁ¦ ejb-nameÀ» ºÐ¸®ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. À¥ ÀÀ¿ë ÇÁ·Î±×·¥ ¹èÆ÷ ¼³¸íÀÚ, web.xmlÀ» ¼öÁ¤ÇÏÁö ¾Ê°í Enterprise Bean ¹èÆ÷ ¼³¸íÀÚÀÇ ejb-nameÀ» »ç¿ëÇÏ·Á°í ÇÒ ¶§ ÀÌ ¹æ¹ýÀÌ Æ¯È÷ À¯¿ëÇÕ´Ï´Ù. Sun ONE Application Server °ü·Ã ±¸¼ºÀ» »ç¿ëÇϸé Sun ONE Application Server °ü·Ã ¹èÆ÷ ¼³¸íÀÚÀÇ ejb-ref-mapping ¿ä¼Ò¸¦ »ç¿ëÇÏÁö ¾Ê°í ejb-ref-name ¿ä¼Ò¸¦ ´ë»ó BeanÀÇ ejb-name¿¡ ¸ÅÇÎÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿¹:

<ejb-ref>
<ejb-ref-name> ejb/EmplRecord </ejb-ref-name>
<ejb-ref-type> Entity </ejb-ref-type>
<home> com.wombat.empl.EmployeeRecordHome </home>
<remote> com.wombat.empl.EmployeeRecord </remote>
</ejb-ref>

<ejb-ref>
<ejb-ref-name> ejb/EmplRecord </ejb-ref-name>
<jndi-name> AccountEJB </jndi-name>
</ejb-ref-mapping>


Áö¼Ó¼º °ü¸®ÀÚ ÀÚ¿ø Á¤º¸

ÀÌ ¸ðµâ¿¡¼­´Â Áö¼Ó¼º¿¡ ´ëÇØ ¼³¸íÇϰí Sun ONE Application Server¿¡¼­ Áö¿øÇÏ´Â Ç÷¯±×Çü Áö¼Ó¼º °ü¸®ÀÚ »ç¿ëÀ» À§ÇÑ ÇÁ·¹ÀÓ¿öÅ©¸¦ ¼³Á¤ÇÕ´Ï´Ù.

ÀÌ ¸ðµâ¿¡¼­´Â ´ÙÀ½ ³»¿ëÀ» ¼³¸íÇÕ´Ï´Ù.

Áö¼Ó¼ºÀ̶õ?

´ëºÎºÐÀÇ ºñÁî´Ï½º ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ÁÖ¿ä Ãø¸éÀº Áö¼Ó¼º µ¥ÀÌÅÍ(ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¿ÜºÎ¿¡ ÀúÀåµÇ¾î ÀÖ´Â ¿À·¡µÈ µ¥ÀÌÅÍ)¸¦ ÇÁ·Î±×·¡¹Ö ¹æ½ÄÀ¸·Î Á¶ÀÛÇÏ´Â °ÍÀÔ´Ï´Ù. Áö¼Ó¼º µ¥ÀÌÅ͸¦ »ç¿ëÇϰųª ¼öÁ¤ÇÏ·Á°í ÇÒ ¶§´Â Àӽà ¸Þ¸ð¸®·Î ÀоîµéÀÌÁö¸¸ ¿À·§ µ¿¾È ÀúÀåÇϱâ À§Çؼ­´Â °ü°èÇü µ¥ÀÌÅͺ£À̽º³ª Ç÷§ ÆÄÀÏ ½Ã½ºÅÛ¿¡ ±â·ÏÇÕ´Ï´Ù.

°´Ã¼ ÁöÇâ ÇÁ·Î±×·¡¹Ö ½Ã½ºÅÛ¿¡¼­ Áö¼Ó¼º µ¥ÀÌÅÍ´Â ÀÀ¿ë ÇÁ·Î±×·¥ Äڵ忡 ÀÇÇØ Á¶À۵Ǵ Çϳª ÀÌ»óÀÇ µ¥ÀÌÅÍ °´Ã¼·Î ¸Þ¸ð¸®¿¡ Ç¥ÇöµË´Ï´Ù. ÀϹÝÀûÀ¸·Î µ¥ÀÌÅÍ ÀúÀå¼ÒÀÇ Áö¼Ó¼º µ¥ÀÌÅÍ¿Í ¸Þ¸ð¸®¿¡ Ç¥ÇöµÈ Áö¼Ó¼º µ¥ÀÌÅÍ °´Ã¼ °£ÀÇ ´ëÀÀÀº ´ÙÀ½ÀÇ "±âº» Áö¼Ó¼º ü°è" ±×¸²¿¡ Ç¥½ÃµÈ ´ë·Î ¸¹Àº ¼ÒÇÁÆ®¿þ¾î °èÃþÀ» ÅëÇØ ÀÌ·ç¾îÁý´Ï´Ù.

±×¸² 10-4 ±âº» Áö¼Ó¼º ü°è

¸Þ¸ð¸®¿¡ Ç¥ÇöµÈ Áö¼Ó¼º µ¥ÀÌÅÍ¿¡ »ç¿ëµÇ´Â ±âº» Áö¼Ó¼º ü°è¸¦ º¸¿©ÁÖ´Â ±×¸²ÀÔ´Ï´Ù.

°¢ µ¥ÀÌÅÍ ÀúÀå¼Ò¿¡´Â µ¥ÀÌÅÍ ÀúÀå¼Ò¿Í ÀÀ¿ë ÇÁ·Î±×·¥ °£ÀÇ ¿¬°áÀ» ¼³Á¤Çϰí À¯ÁöÇÏ´Â µ¥ »ç¿ëµÇ´Â µå¶óÀ̹ö ¼ÒÇÁÆ®¿þ¾î¸¦ ÅëÇØ ¿ÜºÎ ¿µ¿ª°ú ¿¬°áµÇ´Â ÀÎÅÍÆäÀ̽º°¡ ÀÖ½À´Ï´Ù. ÀÌ ¿¬°áÀÌ ¼³Á¤µÇ¸é ÁúÀǾ »ç¿ëÇÏ¿© µ¥ÀÌÅÍ ÀúÀå¼Ò·ÎºÎÅÍ Á¤º¸¸¦ °Ë»öÇÏ¿© ÀÀ¿ë ÇÁ·Î±×·¥À¸·Î ÀоîµéÀ̰ųª ¹Ý´ë·Î ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ µ¥ÀÌÅÍ ÀúÀå¼Ò·Î µ¥ÀÌÅ͸¦ ±â·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ °èÃþÀº ¸Þ¸ð¸®ÀÇ µ¥ÀÌÅÍ °´Ã¼¿Í µ¥ÀÌÅÍ ÀúÀå¼ÒÀÇ Á¤º¸ °£ÀÇ ¸ÅÇÎÀ» Á¦°øÇÕ´Ï´Ù.

ÀÌ·¯ÇÑ ÀÏ¹Ý Ã¼°è¸¦ ÅëÇØ ÇÁ·Î±×·¡¸Ó´Â Áö¼Ó¼º µ¥ÀÌÅ͸¦ ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ »ç¿ëÇϰí Á¶ÀÛÇÒ ¼ö ÀÖ´Â ·±Å¸ÀÓ °´Ã¼·Î Ç¥ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Ã¼°è´Â CRUD·Î Ãà¾àµÇ±âµµ ÇÏ´Â ¸ðµç ±âº» Áö¼Ó¼º ÀÛ¾÷À» Áö¿øÇÕ´Ï´Ù.

Áö¼Ó¼º °ü¸®ÀÚÀÇ ¿ªÇÒ

Áö¼Ó¼º °ü¸®ÀÚ(PM)´Â EJB ÄÁÅ×À̳ʿ¡¼­ ÄÁÅ×ÀÌ³Ê °ü¸® Áö¼Ó¼º°ú ÇÔ²² Entity BeanÀÇ Áö¼Ó¼ºÀ» °ü¸®ÇÕ´Ï´Ù. Entity Bean °ø±ÞÀÚ´Â Entity Bean Ŭ·¡½º¸¦ Ãß»ó Ŭ·¡½º·Î Á¦°øÇØ¾ß ÇÕ´Ï´Ù. Áö¼Ó¼º °ü¸®ÀÚ °ø±ÞÀÚÀÇ µµ±¸¸¦ ÅëÇØ À̸¦ ±¸Ã¼ÀûÀ¸·Î ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ÀÛ¾÷À» ¼öÇàÇÏ·Á¸é Ãß»ó Entity Bean°ú °ü·Ã Ŭ·¡½º¸¦ ÇÏÀ§ Ŭ·¡½º·Î ³ª´« ´ÙÀ½ À̸¦ ±¸Ã¼ÀûÀ¸·Î ±¸ÇöÇϰųª ĸ½¶È­¿Í À§ÀÓÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.

Áö¼Ó¼º °ü¸®ÀÚ µµ±¸°¡ Á¦°øÇϴ Ŭ·¡½º´Â Entity Bean »çÀÌÀÇ °ü°è¸¦ °ü¸®Çϰí Áö¼Ó¼º »óÅ¿¡ ´ëÇÑ ¾×¼¼½º¸¦ °ü¸®ÇÒ Ã¥ÀÓÀÌ ÀÖ½À´Ï´Ù. PM µµ±¸´Â ÄÁÅ×ÀÌ³Ê °ü¸® Áö¼Ó¼º(CMR)À» À¯ÁöÇÏ´Â µ¥ »ç¿ëµÇ´Â java.util.Collection Ŭ·¡½º ±¸ÇöÀ» Á¦°øÇÒ Ã¥ÀÓµµ ÀÖ½À´Ï´Ù.

»çÀü ¹èÆ÷ Bean ±¸¼º

Enterprise Java Bean Ç¥ÁØÀº Entity Bean¿¡ ´ëÇÑ µÎ °¡Áö Áö¼Ó¼º, ÄÁÅ×ÀÌ³Ê °ü¸® Áö¼Ó¼º(CMP)°ú Bean °ü¸® Áö¼Ó¼º(BMP)À» Á¦°øÇÕ´Ï´Ù. EJB 2.0 »ç¾çÀº EJB ¼­¹ö¿Í Áö¼Ó¼º °ü¸®ÀÚ »çÀÌÀÇ Ç¥ÁØ API¸¦ Á¤ÀÇÇÏÁö ¾Ê½À´Ï´Ù.

ÀÌ Àý¿¡¼­´Â ¹èÆ÷ ¹× ÄÚµå »ý¼º ½ÃÀÇ ÅëÇÕ ¿ä±¸ »çÇ×À» ¼³¸íÇÕ´Ï´Ù. ¹èÆ÷¶ó´Â ¿ë¾î´Â ¿©·¯ Àǹ̷Π»ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ÀϹÝÀûÀ¸·Î ¹èÆ÷ °úÁ¤Àº ±¸¼º, ÄÚµå ÀÛ¼º ¹× ¼³Ä¡ÀÇ ¼¼ ´Ü°è·Î ÀÌ·ç¾îÁý´Ï´Ù.

»ç¿ëµÈ Áö¼Ó¼º ¸ÞÄ¿´ÏÁò, Áö¼Ó¼º °ø±Þ¾÷ü, »ç¿ë ÁßÀÎ ¹öÀü, Áö¼Ó¼º ¸ÞÄ¿´ÏÁò¿¡ ÇÊ¿äÇÑ Ãß°¡ Á¤º¸ µîÀ» ºñ·ÔÇÏ¿© Bean¿¡ ´ëÇØ ¸¹Àº µî·Ï Á¤º¸¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ´ëºÎºÐÀÇ Áö¼Ó¼º °ø±Þ¾÷ü´Â ¸ðµç °ü·Ã Bean°ú ±× Á¾¼Ó Ŭ·¡½º¸¦ ´ÜÀÏ ´ÜÀ§·Î ¹èÆ÷ÇÒ ¼ö ÀÖ´Â ÇÁ·ÎÁ§Æ®ÀÇ °³³äÀ» °®°í ÀÖ½À´Ï´Ù. ÇÁ·ÎÁ§Æ®º°·Î °ø±Þ¾÷ü °ü·Ã xml ÆÄÀÏÀÌ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù.

¹èÆ÷ ¸ñÀûÀ¸·Î Áö¿øµÇ´Â ¼¼ °¡Áö Ç¥ÁØ ÆÄÀÏ¿¡´Â ejb-jar.xml, sun-ejb-jar.xml ¹× sun-cmp-mappings.xmlÀÌ Æ÷ÇԵ˴ϴÙ. sun-ejb-jar.xml¿¡ CMP Bean°ú ÇÔ²² ÀÖ´Â °¢ EJB ¸ðµâ¿¡´Â ´Ù¼¸ °³ ÀÌ»óÀÇ ¼Ó¼ºÀ» ÁöÁ¤ÇÏ´Â ÇÑ °³ ÀÌ»óÀÇ <pm-descriptor> ¿ä¼Ò¿Í ÇÔ²² <pm-descriptors>°¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ´Ù¼¸ °¡Áö ¼Ó¼ºÀº pm-identifier, pm-version, pm-config, pm-class-generator, pm-mapping-factoryÀÔ´Ï´Ù.

Sun ONE Application Server °ü·Ã ¼³¸íÀÚ(sunEjb_jar_2_0.DTD¿¡¼­¿Í ¸¶Âù°¡Áö)´Â Áö¼Ó¼º °ü¸®ÀÚ °ü·Ã ű׸¦ Á¤ÀÇÇÕ´Ï´Ù. »ùÇà CMP ¼³¸íÀÚ´Â Sun ONE Application Server DTD¿¡ Á¤ÀÇµÈ °Íó·³ ¾Æ·¡¿Í ºñ½ÁÇÒ °ÍÀÔ´Ï´Ù.

PM descriptors contain one or more pm descriptors, but only of them must be in use at any given time

<!ELEMENT pm-descriptors ( pm-descriptor+, pm-inuse)>

<!--

pm-descriptor describes the properties for the persistence manager

associated with entity bean

-->

<!ELEMENT pm-descriptor ( pm-identifier, pm-version, pm-config?, pm-class-generator?,

pm-mapping-factory?)>

<!--

ÀÌ ¿ä¼Ò´Â PM ±¸ÇöÀ» Á¦°øÇÑ °ø±Þ¾÷ü¸¦ ¼³¸íÇÕ´Ï´Ù. ¿¹¸¦ µé¸é Sun ONE Application Server Transparent Persistence, TopLink, Versant ¶Ç´Â CocoBaseÀÏ ¼ö ÀÖ½À´Ï´Ù.

-->

<!ELEMENT pm-identifier (#PCDATA)>

<!--

pm-version further specifies which version of PM vendor product to be used

-->

<!ELEMENT pm-version (#PCDATA)>

<!--

pm-config specifies the vendor specific config file to be used

-->

<!ELEMENT pm-config (#PCDATA)>

<!--

pm-class-generator specifies the vendor specific concrete class generator

This is the name of the class specific to a vendor:

-->

<!ELEMENT pm-class-generator (#PCDATA)>

<!--

pm-mapping-factory specifies the vendor specific mapping factory

This is the name of the class specific to a vendor:

-->

<!ELEMENT pm-mapping-factory (#PCDATA)>

»õ Áö¼Ó¼º °ü¸®ÀÚ ¸¸µé±â

°ü¸® ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© »õ Áö¼Ó¼º °ü¸®ÀÚ ÀνºÅϽº¸¦ ¸¸µé ¼ö ÀÖ½À´Ï´Ù. »õ Áö¼Ó¼º °ü¸®ÀÚ ÀνºÅϽº¸¦ ¸¸µé·Á¸é ´ÙÀ½À» ¼öÇàÇÕ´Ï´Ù.

  1. °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ ¿ÞÂÊ Ã¢¿¡¼­ »õ Áö¼Ó¼º °ü¸®ÀÚ¸¦ ¸¸µé Sun ONE Application Server ÀνºÅϽº¸¦ ¿±´Ï´Ù. Ç¥½ÃµÈ ¼­¹ö ±¸¼º ¿ä¼Ò ¸ñ·Ï¿¡¼­ "Áö¼Ó¼º °ü¸®ÀÚ"¸¦ ´©¸¨´Ï´Ù.
  2. Sun ONE Application ServerÀÇ ÇØ´ç ÀνºÅϽº¿¡ ´ëÇØ Áö¼Ó¼º °ü¸®ÀÚ°¡ ¸¸µé¾îÁ® ÀÖÀ¸¸é °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ ¿À¸¥ÂÊ Ã¢¿¡ ¸ñ·ÏÀÌ Ç¥½ÃµÉ °ÍÀÔ´Ï´Ù.

  3. »õ Áö¼Ó¼º °ü¸®ÀÚ¸¦ ¸¸µé·Á¸é "»õ·Î ¸¸µé±â"¸¦ ´©¸¨´Ï´Ù. "»õ Áö¼Ó¼º °ü¸®ÀÚ ¸¸µé±â" ±×¸²¿¡ Ç¥½ÃµÈ ´ÙÀ½ âÀÌ Ç¥½ÃµÉ °ÍÀÔ´Ï´Ù.

±×¸² 10-5

»õ Áö¼Ó¼º °ü¸®ÀÚ¸¦ ¸¸µå´Â ¹æ¹ýÀ» º¸¿©ÁÖ´Â ±×¸²ÀÔ´Ï´Ù.

»õ Áö¼Ó¼º °ü¸®ÀÚ ¸¸µé±â

  1. ÀÀ¿ë ÇÁ·Î±×·¥À» ´ë½ÅÇÏ¿© ƯÁ¤ Áö¼Ó¼º °ü¸®ÀÚ¸¦ ã±â À§ÇØ ÀÀ¿ë ÇÁ·Î±×·¥ ¼­¹ö°¡ ·±Å¸ÀÓ¿¡ »ç¿ëÇÏ´Â JNDI À̸§ÀÔ´Ï´Ù. ÀÌ À̸§Àº Sun °ü·Ã ¹èÆ÷ ¼³¸íÀÚÀÇ Entity Bean cmp ÀÚ¿ø ¿ä¼Ò¿¡ Á¤ÀÇµÈ °Í°ú °°¾Æ¾ß ÇÕ´Ï´Ù.
  2. "¼³¸í" Çʵ忡 »õ Áö¼Ó¼º °ü¸®ÀÚ¿¡ ´ëÇÑ ¼³¸íÀ» ÀÔ·ÂÇÕ´Ï´Ù. ÀÌ ÇʵåÀÇ °ªÀº ¹®ÀÚ¿­À̹ǷΠ250ÀÚ±îÁö ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù.
  3. Áö¼Ó¼º °ü¸®ÀÚÀÇ ÆÑÅ丮 Ŭ·¡½º ¿¬°áÀ» "ÆÑÅ丮 Ŭ·¡½º" Çʵ忡 ÀÔ·ÂÇÕ´Ï´Ù. setEntityContext´Â JNDI À̸§ Á¶È¸¸¦ ÅëÇØ ÀÌ ¿¬°á ÆÑÅ丮¸¦ Á¶È¸ÇÕ´Ï´Ù. ÆÑÅ丮 Ŭ·¡½º À̸§Àº Áö¼Ó¼º °ü¸®ÀÚ ÀνºÅϽº¸¦ ¸¸µå´Â Áö¼Ó¼º °ü¸®ÀÚ ÆÑÅ丮ÀÇ Å¬·¡½º À̸§ÀÔ´Ï´Ù. ±âº»ÀûÀ¸·Î ÀÌ À̸§Àº Sun ONE Application ServerÀÇ ³»ºÎ Áö¼Ó¼º °ü¸®ÀÚ ÆÑÅ丮 Ŭ·¡½º·Î ¼³Á¤µË´Ï´Ù. ´ëü ±¸ÇöÀ» »ç¿ëÇÏ´Â °æ¿ì ÀÌ Å¬·¡½º¸¦ ¼­¹ö Ŭ·¡½º °æ·Î¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇØ¾ß ÇÕ´Ï´Ù.
  4. "¿¬°á Ç®" µå·Ó´Ù¿î ¸ñ·Ï¿¡¼­ »õ Áö¼Ó¼º °ü¸®ÀÚ¸¦ Ç®¸µÇÒ µ¥ÀÌÅͺ£À̽º ¿¬°á Ç®À» ¼±ÅÃÇÕ´Ï´Ù. ¿¬°á Ç®¸µÀ» »ç¿ëÇϸé Entity BeanÀº ´ÜÀÏ ¿¬°áÀ» ¿äûÇϰí À̸¦ »ç¿ëÇÏ¿© ¿©·¯ Ŭ¶óÀÌ¾ðÆ® ½º·¹µå¿¡ ´ëÇØ ¸í·É¹®À» µ¿½Ã¿¡ ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ µ¥ÀÌÅͺ£À̽º ¾×¼¼½º¿Í ¸¶Âù°¡Áö·Î Áö¼Ó¼º °ü¸®ÀÚ´Â ¿¬°á Ç®¸µÀ» »ç¿ëÇÏ¿© ¼º´É ¹× È®À强À» Çâ»ó½Ãŵ´Ï´Ù. ±âÁ¸ ¿¬°á Ç®À» ¼±ÅÃÇϰųª, ¾ÆÁ÷ ¸¸µé¾îÁø Ç®ÀÌ ¾ø´Â °æ¿ì "¼±ÅÃµÈ ´ë»óÀÌ ¾ø½À´Ï´Ù."¸¦ ¼±ÅÃÇÕ´Ï´Ù.
  5. ÁÖ: JDBC ÀÚ¿øÀÌ ÀÚµ¿À¸·Î ¸¸µé¾îÁ® PM ·±Å¸ÀÓÀÌ JNDI¸¦ »ç¿ëÇÏ¿© ¿¬°á Ç®¿¡ ¹ÙÀεåÇÏ°Ô ÇØÁÝ´Ï´Ù. JDBC ÀÚ¿øÀÇ JNDI À̸§Àº "PM"À̶õ Á¢µÎ¾î¸¦ °®´Â PM JNDI À̸§°ú °°À» °ÍÀÔ´Ï´Ù. Áö¼Ó¼º °ü¸®ÀÚ¸¦ »èÁ¦ÇÏ¸é °ü·Ã JDBC ÀÚ¿øµµ »èÁ¦µË´Ï´Ù.

  6. Áö¼Ó¼º °ü¸®ÀÚ¸¦ Ȱ¼ºÈ­ÇÏ·Á¸é "Áö¼Ó¼º °ü¸®ÀÚ »ç¿ë °¡´É" È®ÀζõÀ» ¼±ÅÃÇÕ´Ï´Ù. ÀÌÁ¦ ÁöÁ¤µÈ ¿¬°á ÆÑÅ丮¿¡ ´ëÇØ Áö¼Ó¼º °ü¸®ÀÚ°¡ Ȱ¼ºÈ­µË´Ï´Ù.
  7. º¯°æ »çÇ×À» ÀúÀåÇÏ·Á¸é "È®ÀÎ"À» ´©¸¨´Ï´Ù.


JDBC ÀÚ¿ø Á¤º¸

ÀÌ ¸ðµâ¿¡¼­´Â ÀϹÝÀûÀÎ JDBC API, JDBC ÀÚ¿ø ¹× ±¸Çö°ú Sun ONE Application Server¿¡¼­ÀÇ »ç¿ë¿¡ ´ëÇØ ±¸Ã¼ÀûÀ¸·Î ¼³¸íÇÕ´Ï´Ù.

ÀÌ ¸ðµâÀº ´ÙÀ½ Àý·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù.

JDBC API Á¤º¸

JDBC API´Â ½ÇÁ¦·Î ¸ðµç À¯ÇüÀÇ Å×À̺í Çü½Ä µ¥ÀÌÅÍ¿¡ ¾×¼¼½ºÇϱâ À§ÇÑ Java APIÀÔ´Ï´Ù. Èï¹Ì·Ó°Ôµµ JDBC´Â ¸Ó¸® ±ÛÀھ ¾Æ´Ñ »óÇ¥ À̸§ÀÔ´Ï´Ù. ±×·³¿¡µµ ºÒ±¸Çϰí JDBC¸¦ "Java Database Connectivity"ÀÇ ¾à¾î·Î »ý°¢ÇÏ´Â °æ¿ì°¡ Á¾Á¾ ÀÖ½À´Ï´Ù. JDBC API´Â µµ±¸/µ¥ÀÌÅͺ£À̽º °³¹ßÀÚ¸¦ À§ÇÑ Ç¥ÁØ API¸¦ Á¦°øÇÏ°í ¸ðµç Java API¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â Java ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î ÀÛ¼ºµÈ ÀÏ·ÃÀÇ Å¬·¡½º¿Í ÀÎÅÍÆäÀ̽º·Î ±¸¼ºµË´Ï´Ù.

JDBC API´Â °ü°èÇü µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛÀ¸·Î SQL ¹®À» ½±°Ô º¸³¾ ¼ö ÀÖ°Ô ÇØÁÖ¸ç SQLÀÇ ¸ðµç ¾ð¾î¸¦ Áö¿øÇÕ´Ï´Ù. ÇÏÁö¸¸ JDBC 3.0 API´Â SQL ÀÌ»óÀ» Æ÷ÇÔÇϹǷΠµ¥ÀÌÅͺ£À̽º ¿ÜºÎÀÇ ÆÄÀÏÀ» ºñ·ÔÇÑ ´Ù¸¥ Á¾·ùÀÇ µ¥ÀÌÅÍ ¼Ò½º¿Íµµ »óÈ£ ÀÛ¿ëÇÒ ¼ö ÀÖ°Ô ÇØÁÝ´Ï´Ù.

JDBC APIÀÇ ÀÌÁ¡Àº ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ½ÇÁ¦·Î ¸ðµç µ¥ÀÌÅÍ ¼Ò½º¿¡ ¾×¼¼½ºÇϸç Java °¡»ó ½Ã½ºÅÛÀ» »ç¿ëÇÏ´Â ¸ðµç Ç÷§Æû¿¡¼­ ½ÇÇàµÉ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. Áï, JDBC API¸¦ »ç¿ëÇϸé Sybase µ¥ÀÌÅͺ£À̽º, Oracle µ¥ÀÌÅͺ£À̽º, IBM DB2 µ¥ÀÌÅͺ£À̽º °¢°¢À» ¾×¼¼½ºÇϱâ À§ÇØ º°µµÀÇ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ Çʿ䰡 ¾ø´Ù´Â °ÍÀÔ´Ï´Ù. JDBC API¸¦ »ç¿ëÇÏ¿© ´ÜÀÏ ÇÁ·Î±×·¥À» ÀÛ¼ºÇϸé ÀÌ ÇÁ·Î±×·¥¿¡¼­ SQLÀ̳ª ±âŸ ¸í·É¹®À» ÀûÀýÇÑ µ¥ÀÌÅÍ ¼Ò½º·Î º¸³¾ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ Java ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î ÀÛ¼ºµÈ ÀÀ¿ë ÇÁ·Î±×·¥À» »ç¿ëÇÏ¸é ¿©·¯ Ç÷§Æû¿¡¼­ ½ÇÇàÇϱâ À§ÇØ ¿©·¯ ÀÀ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ Çʿ䰡 ¾ø½À´Ï´Ù. ÇÁ·Î±×·¡¸Ó´Â Java Ç÷§Æû°ú JDBC API¸¦ Á¶ÇÕÇÏ¿© Äڵ带 ÇÑ ¹ø¸¸ ÀÛ¼ºÇØ ³õÀ¸¸é ¾î´À Ç÷§Æû¿¡¼­³ª ÀÌ Äڵ带 ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.

JDBC API¸¦ »ç¿ëÇÑ ÀÛ¾÷

JDBC ±â¼ú ±â¹Ý µå¶óÀ̹ö(JDBC µå¶óÀ̹ö)¸¦ »ç¿ëÇÏ¸é ´ÙÀ½ ¼¼ °¡Áö ÀÛ¾÷À» ÇÒ ¼ö ÀÖ½À´Ï´Ù.

´ÙÀ½ ÄÚµå ´ÜÆíÀº ÀÌ·¯ÇÑ ¼¼ ´Ü°è¿¡ ´ëÇÑ °£´ÜÇÑ ¿¹¸¦ Á¦°øÇÕ´Ï´Ù.

Context ctx = new InitialContext();

DataSource ds = (DataSource)ctx.lookup("jdbc/AcmeDB");

Connection con = ds.getConnection("myLogin", "myPassword");

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");

while (rs.next()) {

   int x = rs.getInt("a");

   String s = rs.getString("b");

   float f = rs.getFloat("c");

 }

µ¥ÀÌÅͺ£À̽º ¾×¼¼½º ¸ðµ¨ Á¤º¸

JDBC API´Â µ¥ÀÌÅͺ£À̽º ¾×¼¼½º¸¦ À§ÇØ 2°èÃþ°ú 3°èÃþ ¸ðµ¨À» ¸ðµÎ Áö¿øÇÕ´Ï´Ù. Sun ONE Application Server´Â Á» ´õ ÀϹÝÀûÀÎ 2°èÃþ µ¥ÀÌÅͺ£À̽º ¾×¼¼½º ¸ðµ¨À» ÅëÇÕÇÕ´Ï´Ù.

ÀÌ Àý¿¡¼­´Â ´ÙÀ½ Ç׸ñ¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.

2°èÃþ µ¥ÀÌÅͺ£À̽º ¾×¼¼½º ¸ðµ¨

2°èÃþ µ¥ÀÌÅͺ£À̽º ¾×¼¼½º ¸ðµ¨¿¡¼­ Java ¾ÖÇø´À̳ª ÀÀ¿ë ÇÁ·Î±×·¥Àº DBMS ¼ÒÀ¯ ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏ¿© µ¥ÀÌÅÍ ¼Ò½º¿Í Á÷Á¢ Åë½ÅÇÕ´Ï´Ù. ÀÌ ¾×¼¼½º ¸ðµ¨¿¡´Â ¾×¼¼½ºÇÒ Æ¯Á¤ µ¥ÀÌÅÍ ¼Ò½º¿Í Åë½ÅÇÒ ¼ö ÀÖ´Â JDBC µå¶óÀ̹ö°¡ ÇÊ¿äÇÕ´Ï´Ù. »ç¿ëÀÚÀÇ ¸í·ÉÀº µ¥ÀÌÅͺ£À̽º³ª ´Ù¸¥ µ¥ÀÌÅÍ ¼Ò½º·Î Àü´ÞµÇ¸ç ÀÌ·¯ÇÑ ¹®ÀÇ °á°ú´Â ´Ù½Ã »ç¿ëÀÚ¿¡°Ô º¸³»Áý´Ï´Ù. µ¥ÀÌÅÍ ¼Ò½º´Â ³×Æ®¿öÅ©¸¦ ÅëÇØ ¿¬°áµÈ ´Ù¸¥ ½Ã½ºÅÛ¿¡ ÀÖÀ» ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ±¸¼ºÀ» Ŭ¶óÀ̾ðÆ®/¼­¹ö ±¸¼ºÀ̶ó°í ÇÏ¸ç »ç¿ëÀÚ ÄÄÇ»Åʹ Ŭ¶óÀÌ¾ðÆ®·Î, µ¥ÀÌÅÍ ¼Ò½º¸¦ °ü¸®ÇÏ´Â ÄÄÇ»ÅÍ´Â ¼­¹öÀÇ ¿ªÇÒÀ» ÇÕ´Ï´Ù. ³×Æ®¿öÅ©´Â ±â¾÷ ³»¿¡¼­ Á÷¿øÀ» ¿¬°áÇÏ´Â ÀÎÆ®¶ó³ÝÀÌ µÇ°Å³ª ÀÎÅͳÝÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù.

3°èÃþ µ¥ÀÌÅͺ£À̽º ¾×¼¼½º ¸ðµ¨

3°èÃþ µ¥ÀÌÅͺ£À̽º ¾×¼¼½º ¸ðµ¨¿¡¼­ Java ¾ÖÇø´À̳ª ÀÀ¿ë ÇÁ·Î±×·¥Àº ¼­ºñ½ºÀÇ "Áß°£ °èÃþ"À¸·Î ¸í·ÉÀ» º¸³»°í ÀÌ Áß°£ °èÃþÀº µ¥ÀÌÅÍ ¼Ò½º·Î ¸í·ÉÀ» º¸³À´Ï´Ù. Ŭ¶óÀÌ¾ðÆ® ÀÀ¿ë ÇÁ·Î±×·¥Àº HTTP, RM, CORBA ¶Ç´Â ±âŸ È£ÃâÀ» ÅëÇØ Áß°£ °èÃþ°ú Åë½ÅÇÕ´Ï´Ù. Áß°£ °èÃþÀº DBMS ¼ÒÀ¯ ÇÁ·ÎÅäÄÝÀ» ÅëÇØ µ¥ÀÌÅÍ ÀúÀå¼Ò¿Í Åë½ÅÇÕ´Ï´Ù. µ¥ÀÌÅÍ ¼Ò½º´Â ¸í·ÉÀ» ó¸®ÇÏ¿© °á°ú¸¦ ´Ù½Ã Áß°£ °èÃþ¿¡ º¸³»°í Áß°£ °èÃþÀº °á°ú¸¦ »ç¿ëÀÚ¿¡°Ô ´Ù½Ã º¸³À´Ï´Ù. MIS ´ã´çÀÚ´Â Áß°£ °èÃþÀ» »ç¿ëÇÏ¿© ±â¾÷ µ¥ÀÌÅÍ¿¡ ´ëÇÑ ¿©·¯ °¡Áö ¾÷µ¥ÀÌÆ® ¹× ¾×¼¼½º¸¦ Á¦¾îÇÒ ¼ö ÀÖÀ¸¹Ç·Î 3°èÃþ ¸ðµ¨À» ¼±È£ÇÒ °ÍÀÔ´Ï´Ù. ±×¹ÛÀÇ ÀåÁ¡À¸·Î´Â ÀÀ¿ë ÇÁ·Î±×·¥ ¹èÆ÷ °úÁ¤ÀÌ ´Ü¼øÈ­µÈ´Ù´Â °ÍÀÔ´Ï´Ù. ¸¶Áö¸·À¸·Î 3°èÃþ ±¸Á¶´Â ¼º´É»óÀÇ ÀÌÁ¡À» Á¦°øÇÕ´Ï´Ù.

JDBC µ¥ÀÌÅÍ ¼Ò½º Á¤º¸

DataSource °´Ã¼´Â µ¥ÀÌÅÍ ¼Ò½º¸¦ Java ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î ³ªÅ¸³½ °ÍÀÔ´Ï´Ù. ±âº»ÀûÀ¸·Î µ¥ÀÌÅÍ ¼Ò½º´Â µ¥ÀÌÅ͸¦ ÀúÀåÇϱâ À§ÇÑ ±â´ÉÀ» ÀǹÌÇÕ´Ï´Ù. µ¥ÀÌÅÍ ¼Ò½º´Â ´ë±â¾÷ÀÇ º¹ÀâÇÑ µ¥ÀÌÅͺ£À̽ºÃ³·³ º¹ÀâÇÒ ¼öµµ ÀÖ°í Çà°ú ¿­·Î ±¸¼ºµÈ ÆÄÀÏó·³ °£´ÜÇÒ ¼öµµ ÀÖ½À´Ï´Ù. µ¥ÀÌÅÍ ¼Ò½º´Â ¿ø°Ý ¼­¹ö¿¡ ÀÖÀ» ¼öµµ ÀÖ°í ·ÎÄà µ¥½ºÅ©Å¾ ÄÄÇ»ÅÍ¿¡ ÀÖÀ» ¼öµµ ÀÖ½À´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥Àº ¿¬°áÀ» »ç¿ëÇÏ¿© µ¥ÀÌÅÍ ¼Ò½º¿¡ ¾×¼¼½ºÇϹǷΠDataSource °´Ã¼´Â DataSource ÀνºÅϽº°¡ ³ªÅ¸³»´Â ƯÁ¤ µ¥ÀÌÅÍ ¼Ò½º ¿¬°áÀ» À§ÇÑ ÆÑÅ丮·Î »ý°¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. µ¥ÀÌÅÍ ¼Ò½º ÀÎÅÍÆäÀ̽º´Â µ¥ÀÌÅÍ ¼Ò½º¿Í ¿¬°áÀ» ¼³Á¤Çϱâ À§ÇÑ µÎ °¡Áö ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù.

DataSource °´Ã¼¿¡´Â ÀÚ½ÅÀÌ ³ªÅ¸³»´Â µ¥ÀÌÅÍ ¼Ò½º¸¦ ½Äº°ÇÏ°í ¼³¸íÇÏ´Â µî·Ï Á¤º¸°¡ ÀÖ½À´Ï´Ù. ¶ÇÇÑ DataSource °´Ã¼´Â JNDI À̸§ ÁöÁ¤ ¼­ºñ½º¿Í ÇÔ²² ÀÛµ¿Çϸç ÇØ´ç °´Ã¼¸¦ »ç¿ëÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥°ú´Â º°µµ·Î ¸¸µé¾îÁö°í ¹èÆ÷µÇ¸ç °ü¸®µË´Ï´Ù. µå¶óÀ̹ö °ø±Þ¾÷ü´Â DataSource ÀÎÅÍÆäÀ̽ºÀÇ ±âº» ±¸ÇöÀΠŬ·¡½º¸¦ JDBC 2.0 ¶Ç´Â 3.0 µå¶óÀ̹ö Á¦Ç°ÀÇ ÀϺηΠÁ¦°øÇÕ´Ï´Ù.

ÀÌ Àý¿¡¼­´Â ´ÙÀ½ Ç׸ñ¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.

µ¥ÀÌÅÍ ¼Ò½º °´Ã¼ÀÇ µî·Ï Á¤º¸

DataSource °´Ã¼¿¡´Â ÀÚ½ÅÀÌ ³ªÅ¸³»´Â ½ÇÁ¦ µ¥ÀÌÅÍ ¼Ò½º¸¦ ½Äº°ÇÏ°í ¼³¸íÇÏ´Â µî·Ï Á¤º¸°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ µî·Ï Á¤º¸¿¡´Â µ¥ÀÌÅͺ£À̽º ¼­¹ö À§Ä¡, µ¥ÀÌÅͺ£À̽º À̸§, ¼­¹ö¿Í Åë½ÅÇÏ´Â µ¥ »ç¿ëµÇ´Â ³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝ µîÀÇ Á¤º¸°¡ Æ÷ÇԵ˴ϴÙ. DataSource µî·Ï Á¤º¸´Â JavaBeans µðÀÚÀÎ ÆÐÅÏÀ» µû¸£¸ç ´ë°³ DataSource °´Ã¼°¡ ¹èÆ÷µÉ ¶§ ¼³Á¤µË´Ï´Ù.

¿©·¯ °ø±Þ¾÷üÀÇ DataSource ±¸Çö °£¿¡ Àϰü¼ºÀ» À¯ÁöÇϱâ À§ÇØ JDBC 2.0 API´Â Ç¥ÁØ µî·Ï Á¤º¸ ÁýÇÕ°ú °¢ µî·Ï Á¤º¸¿¡ ´ëÇÑ Ç¥ÁØ À̸§À» ÁöÁ¤ÇÕ´Ï´Ù.

DataSource ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϴ Ŭ·¡½ºÀÇ ÀνºÅϽº´Â ÇÑ °³ÀÇ Æ¯Á¤ µ¥ÀÌÅÍ ¼Ò½º¸¦ ³ªÅ¸³À´Ï´Ù. ÇØ´ç ÀνºÅϽº¿¡ ÀÇÇØ ¼³Á¤µÇ´Â °¢ ¿¬°áÀº °°Àº µ¥ÀÌÅÍ ¼Ò½º¸¦ ÂüÁ¶ÇÕ´Ï´Ù. ±âº» DataSource ±¸Çö ½Ã DataSource.getConnection ¸Þ¼Òµå¸¦ È£ÃâÇϸé DriverManager ±â´É¿¡¼­ ¹ÝȯÇÏ´Â ¿¬°á °´Ã¼¿Í °°Àº, µ¥ÀÌÅÍ ¼Ò½º¿¡ ´ëÇÑ ¹°¸®Àû ¿¬°á °´Ã¼¸¦ ¹ÝȯÇÕ´Ï´Ù.

JNDI´Â ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ³×Æ®¿öÅ©¸¦ ÅëÇØ ¿ø°Ý ¼­ºñ½º¸¦ ã¾Æ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Â ÀϰüµÈ ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù. ¿ø°Ý ¼­ºñ½º¿¡´Â ¸Þ½Ã¡ ¼­ºñ½º³ª ÀÀ¿ë ÇÁ·Î±×·¥ ¼­ºñ½º¸¦ ºñ·ÔÇÑ ¸ðµç ¿£ÅÍÇÁ¶óÀÌÁî ¼­ºñ½º°¡ Æ÷ÇÔµÇÁö¸¸ JDBC ÀÀ¿ë ÇÁ·Î±×·¥Àº ÁÖ·Î µ¥ÀÌÅͺ£À̽º ¼­ºñ½º¸¸ ó¸®ÇÕ´Ï´Ù. DataSource °´Ã¼¸¦ ¸¸µé¾î JNDI À̸§ ÁöÁ¤ ¼­ºñ½º¿¡ µî·ÏÇϸé ÀÀ¿ë ÇÁ·Î±×·¥Àº JNDI API¸¦ »ç¿ëÇÏ¿© ÇØ´ç DataSource °´Ã¼¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ µ¥ÀÌÅÍ ¼Ò½º °´Ã¼´Â ÀÚ½ÅÀÌ ³ªÅ¸³»´Â µ¥ÀÌÅÍ ¼Ò½º¿¡ ¿¬°áÇÏ´Â µ¥ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.

¸¶Âù°¡Áö·Î ¿¬°á Ç®¸µÀ» ±¸ÇöÇÏ´Â DataSource °´Ã¼´Â DataSource Ŭ·¡½º°¡ ³ªÅ¸³»´Â ƯÁ¤ µ¥ÀÌÅÍ ¼Ò½º¿¡ ´ëÇÑ ¿¬°áÀ» »ý¼ºÇÕ´Ï´Ù. ÇÏÁö¸¸ DataSource.getConnection ¸Þ¼Òµå°¡ ¹ÝȯÇÏ´Â ¿¬°á °´Ã¼´Â ¹°¸®Àû ¿¬°áÀÌ ¾Æ´Ñ PooledConnection °´Ã¼¿¡ ´ëÇÑ ÇÚµéÀÔ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥Àº Æò¼Ò´ë·Î ¿¬°á °´Ã¼¸¦ »ç¿ëÇϸç ÀϹÝÀûÀ¸·Î ÀÌ ¿¬°á °´Ã¼°¡ ¾î¶°ÇÑ ¹æ½ÄÀ¸·Î°Ç ´Þ¶óÁ³´Ù´Â Á¡À» ÀνÄÇÏÁö ¸øÇÕ´Ï´Ù. ¿¬°á Ç®¸µÀº ¸ðµç ¿¬°á°ú ¸¶Âù°¡Áö·Î Ç®¸µµÈ ¿¬°áÀÌ Ç×»ó ¸í½ÃÀûÀ¸·Î ´ÝÇô ÀÖ¾î¾ß ÇÑ´Ù´Â Á¡À» ¿¹¿Ü·Î Çϸé ÀÀ¿ë ÇÁ·Î±×·¥ Äڵ忡 ÀüÇô ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê½À´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ Ç®¸µµÈ ¿¬°áÀ» ´ÝÀ¸¸é ÇØ´ç ¿¬°áÀº Àç»ç¿ë °¡´ÉÇÑ ¿¬°á Ç®·Î µ¹¾Æ°©´Ï´Ù. ´ÙÀ½¿¡ DataSource.getConnectionÀ» È£ÃâÇϸé ÀÌ Ç®¸µµÈ ¿¬°á Áß Çϳª°¡ »ç¿ë °¡´ÉÇÑ °æ¿ì ÀÌ¿¡ ´ëÇÑ ÇÚµéÀÌ ¹ÝȯµË´Ï´Ù. ¿¬°á Ç®¸µÀ» »ç¿ëÇÏ¸é ¿¬°áÀÌ ¿äûµÉ ¶§¸¶´Ù ¹°¸®Àû ¿¬°áÀ» »õ·Î ¸¸µéÁö ¾Ê¾Æµµ µÇ¹Ç·Î ÀÀ¿ë ÇÁ·Î±×·¥À» ÈξÀ ´õ ºü¸£°Ô ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.

ºÐ»ê Æ®·£Àè¼Ç ȯ°æ¿¡¼­ ÀÛµ¿Çϵµ·Ï DataSource Ŭ·¡½º¸¦ ±¸ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, EJB ¼­¹ö´Â ºÐ»ê Æ®·£Àè¼ÇÀ» Áö¿øÇϰí ÀڽŰú »óÈ£ ÀÛ¿ëÇϵµ·Ï ±¸ÇöµÇ´Â DataSource Ŭ·¡½º¸¦ ÇÊ¿ä·Î ÇÕ´Ï´Ù. ÀÌ °æ¿ì DataSource.getConnection ¸Þ¼Òµå´Â ºÐ»ê Æ®·£Àè¼Ç¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ¿¬°á °´Ã¼¸¦ ¹ÝȯÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î EJB ¼­¹ö´Â ºÐ»ê Æ®·£Àè¼Ç°ú ¿¬°á Ç®¸µ¿¡ ´ëÇÑ Áö¿ø ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù. ¿¬°á Ç®¸µ°ú ¸¶Âù°¡Áö·Î Æ®·£Àè¼Ç °ü¸®µµ ³»ºÎÀûÀ¸·Î 󸮵ǹǷΠºÐ»ê Æ®·£Àè¼ÇÀ» »ç¿ëÇϱ⠽±½À´Ï´Ù. Æ®·£Àè¼ÇÀ» ºÐ»êÇÏ´Â °æ¿ì(µÎ °³ ÀÌ»óÀÇ µ¥ÀÌÅÍ ¼Ò½º¿Í °ü·ÃµÇ´Â °æ¿ì) ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ commitÀ̳ª rollback °°Àº Æ®·£Àè¼Ç ¸Þ¼Òµå¸¦ È£ÃâÇÒ ¼ö ¾ø´Ù´Â Á¡ÀÌ À¯ÀÏÇÑ Á¦ÇÑ »çÇ×ÀÔ´Ï´Ù. ¶ÇÇÑ ¿¬°áÀ» auto-commit ¸ðµå¿¡ µÑ ¼öµµ ¾ø½À´Ï´Ù. ÀÌ·¸°Ô Á¦ÇÑÀ» µÎ´Â ÀÌÀ¯´Â Æ®·£Àè¼Ç °ü¸®ÀÚ°¡ ºÐ»ê Æ®·£Àè¼ÇÀ» ¸ð¸£°Ô ½ÃÀÛÇÏ°í ³¡³»±â ¶§¹®¿¡ Æ®·£Àè¼ÇÀÌ ½ÃÀÛÇϰųª ³¡³ª´Â ½Ã°£¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â ÀÛ¾÷À» ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ ÇÒ ¼ö ¾ø°Ô µË´Ï´Ù. Java Æ®·£Àè¼Ç¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº 9Àå, "Æ®·£Àè¼Ç ¼­ºñ½º »ç¿ë"À» ÂüÁ¶ÇϽʽÿÀ.

JDBC ÀÚ¿ø µî·Ï

Sun ONE Application Server ¶Ç´Â ¸í·ÉÁÙ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© JDBC ÀÚ¿øÀ» °ü¸® ÀÎÅÍÆäÀ̽º¿¡ µî·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ Àý¿¡¼­´Â ´ÙÀ½ Ç׸ñ¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.

¸í·ÉÁÙÀ» »ç¿ëÇÏ¿© ÀÚ¿ø µî·Ï

¸í·ÉÁÙ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© JDBC ÀÚ¿øÀ» µî·ÏÇÏ·Á¸é ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÕ´Ï´Ù.

./asadmin create-jdbc-resource

JDBC ÀÚ¿øÀ» µî·ÏÇÏ·Á¸é XML ÄÚµå ´ÜÆí¿¡¼­ ¾Æ·¡(sun-server_7_0.dtd¿¡¼­ ¹ßÃé)¿Í °°ÀÌ ¸î °¡Áö ¼Ó¼ºÀ» ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù.

<!-- JDBC javax.sql.DataSource resource definition -->

<!ELEMENT jdbc-resource (description?, property*)>

<!ATTLIST jdbc-resource jndi-name CDATA #REQUIRED

pool-name CDATA #REQUIRED

enabled %boolean; 'true'>

¿©±â¿¡¼­ ÁöÁ¤ÇÏ´Â ¸ðµç ³»¿ëÀº ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ J2EE ÀÀ¿ë ÇÁ·Î±×·¥ ³»ºÎ¿¡¼­ ÀÌ µ¥ÀÌÅÍ ¼Ò½º¸¦ ÂüÁ¶ÇÒ ¶§ »ç¿ëÇÏ´Â ½Éº¼¸¯ À̸§ÀÔ´Ï´Ù. pool-name ¼Ó¼ºÀº µ¥ÀÌÅͺ£À̽º ¿¬°áÀÇ ¸ðµç Ãø¸éÀ» ÁöÁ¤ÇÏ´Â, À̸§ÀÌ ÁöÁ¤µÈ Ç® Á¤ÀǸ¦ °¡¸®Åµ´Ï´Ù. °ü¸®Àڴ Ȱ¼º ¼Ó¼ºÀ» »ç¿ëÇÏ¿© ÀϺΠÀÚ¿øÀ» ÇØÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù.

°ü¸® ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© ÀÚ¿ø µî·Ï

°ü¸® ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅÍ ¼Ò½º¸¦ µî·ÏÇÏ·Á¸é ´ÙÀ½ ÀÛ¾÷À» ¼öÇàÇÕ´Ï´Ù.

  1. °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ ¿ÞÂÊ Ã¢¿¡¼­ JDBC ÀÚ¿øÀ» µî·ÏÇÒ Sun ONE Application Server ÀνºÅϽº¸¦ ¿±´Ï´Ù.
  2. JDBC¸¦ ¿±´Ï´Ù.
  3. JDBC¿¡¼­ "JDBC ÀÚ¿ø"À» ´©¸¨´Ï´Ù.
  4. ¿À¸¥ÂÊ Ã¢¿¡¼­ "»õ·Î ¸¸µé±â"¸¦ ´©¸¨´Ï´Ù. "»õ JDBC ÀÚ¿ø ¸¸µé±â" ±×¸²¿¡ Ç¥½ÃµÈ °Í°ú °°ÀÌ »õ JDBC ÀÚ¿øÀ» ¸¸µé ¼ö ÀÖ´Â ÆäÀÌÁö°¡ ¿À¸¥ÂÊ Ã¢¿¡ Ç¥½ÃµË´Ï´Ù.

±×¸² 10-6 »õ JDBC ÀÚ¿ø ¸¸µé±â

»õ JDBC ÀÚ¿øÀ» ¸¸µé ¼ö ÀÖ´Â °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ Ã¢À» º¸¿©ÁÖ´Â ±×¸²ÀÔ´Ï´Ù.

  1. ¸¸µé°í ÀÖ´Â ÀÚ¿ø¿¡ ´ëÇÑ JNDI À̸§À» ÀÔ·ÂÇÕ´Ï´Ù.
  2. JDBC ÀÚ¿øÀº JNDI ¸®Æ÷ÁöÅ丮¿¡ ÀúÀåµÇ¸ç JNDI À̸§À» »ç¿ëÇÏ¿© ¾×¼¼½ºÇÕ´Ï´Ù. JNDI À̸§ÀÇ ·çÆ®´Â Java:comp:env/¿¡ ¸í½ÃµÇ¾î Àֱ⠶§¹®¿¡ À̸§ÀÇ ÇØ´ç ºÎºÐÀ» ÁöÁ¤ÇÒ Çʿ䰡 ¾ø½À´Ï´Ù. JDBC ÀÚ¿ø(µ¥ÀÌÅÍ ¼Ò½º)Àº 'jdbc' ÇÏÀ§ ÄÁÅØ½ºÆ®¿¡ ÀúÀåÇÏ´Â °ÍÀÌ ÁÁÀ¸¹Ç·Î JNDI À̸§Àº jdbc/EmployeeDB_DS¿Í ºñ½ÁÇÒ °ÍÀÔ´Ï´Ù.

  3. "Ç® À̸§' µå·Ó´Ù¿î ¸ñ·ÏÀÇ Ç® À̸§ ¸ñ·Ï¿¡¼­ »õ µ¥ÀÌÅÍ ¼Ò½º¿¡ ´ëÇÑ Ç® À̸§À» ¼±ÅÃÇÕ´Ï´Ù. µî·ÏµÈ ¸ðµç ¿¬°á Ç®ÀÌ ÀÌ µå·Ó´Ù¿î ¸ñ·Ï¿¡ Ç¥½ÃµË´Ï´Ù. ¼±ÅÃÇÑ Ç® À̸§Àº µ¥ÀÌÅͺ£À̽º ¿¬°áÀÇ ¸ðµç Ãø¸éÀ» ÁöÁ¤ÇÏ´Â, À̸§ÀÌ ÁöÁ¤µÈ Ç® Á¤ÀǸ¦ °¡¸®Åµ´Ï´Ù. µÎ °³ ÀÌ»óÀÇ JDBC ÀÚ¿øÀÌ ÇϳªÀÇ Ç® Á¤ÀǸ¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. JDBC ¿¬°á Ç® ±¸¼º ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº "°ü¸® ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© »õ JDBC ¿¬°á Ç® ¸¸µé±â"¸¦ ÂüÁ¶ÇϽʽÿÀ.
  4. µ¥ÀÌÅÍ ¼Ò½ºÀÇ ¿ëµµ¸¦ ¼³¸íÇÏ´Â °£´ÜÇÑ ¼³¸íÀ» "¼³¸í" Çʵ忡 ÀÔ·ÂÇÕ´Ï´Ù. ¼³¸íÀº 250ÀÚ¸¦ ÃʰúÇÒ ¼ö ¾ø½À´Ï´Ù.
  5. "»ç¿ë °¡´É" È®ÀζõÀ» ¼±ÅÃÇÏ¿© µ¥ÀÌÅÍ ¼Ò½º¸¦ Ȱ¼ºÈ­Çϰųª ºñȰ¼ºÈ­ÇÕ´Ï´Ù. µ¥ÀÌÅÍ ¼Ò½º°¡ Ȱ¼ºÈ­µÇ¾î ÀÖÁö ¾ÊÀ¸¸é µ¥ÀÌÅͺ£À̽º¸¦ ¿¬°áÇÒ ¶§ µ¥ÀÌÅÍ ¼Ò½º¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
  6. "È®ÀÎ"À» ´­·¯ »õ µ¥ÀÌÅÍ ¼Ò½º¸¦ µî·ÏÇϰųª "Ãë¼Ò"¸¦ ´­·¯ »õ µ¥ÀÌÅÍ ¼Ò½º¸¦ Ãë¼ÒÇÕ´Ï´Ù. "Ãë¼Ò"¸¦ ´©¸£¸é »õ µ¥ÀÌÅÍ ¼Ò½º¸¦ ´Ù½Ã ¸¸µé ¼ö ÀÖ´Â ÁÖ "JDBC ÀÚ¿ø" ÆäÀÌÁö·Î µ¹¾Æ°©´Ï´Ù.

JDBC ¿¬°á Á¤º¸

¿¬°á °´Ã¼´Â µ¥ÀÌÅͺ£À̽º¿ÍÀÇ ¿¬°áÀ» ³ªÅ¸³À´Ï´Ù. ¿¬°á ¼¼¼Ç¿¡´Â ½ÇÇàµÈ SQL ¹®°ú ¿¬°áÀ» ÅëÇØ ¹ÝȯµÇ´Â °á°ú°¡ Æ÷ÇԵ˴ϴÙ. ´ÜÀÏ ÀÀ¿ë ÇÁ·Î±×·¥Àº ´ÜÀÏ µ¥ÀÌÅͺ£À̽º¿Í ÇÑ °³ ÀÌ»óÀÇ ¿¬°áÀ» °¡Áú ¼ö Àְųª ¸¹Àº µ¥ÀÌÅͺ£À̽º¿Í ¿¬°áÀ» °¡Áú ¼ö ÀÖ½À´Ï´Ù.

»ç¿ëÀÚ´Â Connection.getMetaData ¸Þ¼Òµå¸¦ È£ÃâÇÏ¿© ¿¬°á °´Ã¼ÀÇ µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â µ¥ÀÌÅͺ£À̽º Å×À̺í, Áö¿øÇÏ´Â SQL ¹®¹ý, ÀúÀå ÇÁ·Î½ÃÀú, ÀÌ·¯ÇÑ ¿¬°áÀÇ ±â´É µîÀÇ Á¤º¸°¡ ÀÖ´Â DatabaseMetaData °´Ã¼¸¦ ¹ÝȯÇÕ´Ï´Ù.

ÀÀ¿ë ÇÁ·Î±×·¥Àº µ¥ÀÌÅÍ ¼Ò½º °´Ã¼°¡ ¸¸µç ¿¬°á °´Ã¼¸¦ »ç¿ëÇÕ´Ï´Ù. ¿¹¿Ü°¡ ¹ß»ýÇÏ´õ¶óµµ ¿¬°áÀ» È®½ÇÈ÷ ´ÝÀ» ¼ö ÀÖµµ·Ï ÀÀ¿ë ÇÁ·Î±×·¥Àº Ç×»ó "finally" ºí·ÏÀ» Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù. ÀÌ´Â À¯È¿ÇÑ ¿¬°áÀÌ »ç¿ë °¡´ÉÇÑ ¿¬°á Ç®¿¡ Ç×»ó ´Ù½Ã ¹ÝȯµÇµµ·Ï ÇϹǷΠ¿¬°á °´Ã¼°¡ Ç®¸µµÈ ¿¬°áÀÎ °æ¿ì ƯÈ÷ Áß¿äÇÕ´Ï´Ù. ´ÙÀ½ ÄÚµå ´ÜÆíÀº ¿¬°áÀÌ À¯È¿ÇÑ °æ¿ì ¿¬°áÀ» ´Ý´Â finally ºí·ÏÀÇ ¿¹ÀÌ¸ç ¿©±â¼­ conÀº ¿¬°á °´Ã¼ÀÔ´Ï´Ù.

finally{

if (con != null) con.close();

}

´ÙÀ½ ¿¹¿¡¼­¿Í °°ÀÌ finally ºí·ÏÀº try/catch ºí·Ï ´ÙÀ½¿¡ Ç¥½ÃµÇ¸ç ¿©±â¼­ ds´Â µ¥ÀÌÅÍ ¼Ò½º °´Ã¼ÀÔ´Ï´Ù.

try {

Connection con = ds.getConnection("user", "secret");

// . . . code to do the application's work

} catch {

// . . . code to handle an SQLException

} finally {

if (con != null) con.close();

}

ÀÌ Àý¿¡¼­´Â ´ÙÀ½ Ç׸ñ¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.

JDBC URL Á¤º¸

URL (Uniform Resource Locator)Àº ÀÎÅͳݿ¡¼­ ÀÚ¿øÀ» ã´Â µ¥ ÇÊ¿äÇÑ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù. URLÀº ÀÎÅͳݻóÀÇ ÁÖ¼Ò¶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù.

JDBC URLÀº ÀûÀýÇÑ µå¶óÀ̹ö°¡ µ¥ÀÌÅÍ ¼Ò½º¸¦ ÀνÄÇÏ¿© µ¥ÀÌÅÍ ¼Ò½º¿ÍÀÇ ¿¬°áÀ» ¼³Á¤ÇÒ ¼ö ÀÖµµ·Ï µ¥ÀÌÅÍ ¼Ò½º¸¦ ½Äº°ÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù. ƯÁ¤ µå¶óÀ̹ö¸¦ ½Äº°ÇÏ´Â JDBC URLÀ» ½ÇÁ¦·Î °áÁ¤ÇÏ´Â »ç¶÷Àº µå¶óÀ̹ö ÀÛ¼ºÀÚÀÔ´Ï´Ù. »ç¿ëÀÚ´Â JDBC URL ±¸¼º ¹æ¹ýÀ» ½Å°æ ¾µ Çʿ䰡 ¾ø°í »ç¿ëÇϰí ÀÖ´Â µå¶óÀ̹ö¿¡¼­ Á¦°øÇÏ´Â URLÀ» »ç¿ëÇϱ⸸ ÇÏ¸é µË´Ï´Ù. JDBCÀÇ ¿ªÇÒÀº µå¶óÀ̹ö ÀÛ¼ºÀÚ°¡ JDBC URLÀ» ±¸¼ºÇÒ ¶§ µû¶ó¾ß ÇÒ ¸î °¡Áö ±ÔÄ¢À» ±ÇÀåÇÏ´Â °ÍÀÔ´Ï´Ù.

JDBC URLÀº ´Ù¾çÇÑ µå¶óÀ̹ö¿Í ÇÔ²² »ç¿ëµÇ±â ¶§¹®¿¡ ±ÔÄ¢µµ ¸ÅÀ¯ À¯¿¬ÇØ¾ß ÇÕ´Ï´Ù. ¸ÕÀú, JDBC URLÀº ´Ù¾çÇÑ µå¶óÀ̹ö°¡ µ¥ÀÌÅͺ£À̽º À̸§À» ÁöÁ¤ÇÒ ¶§ ´Ù¾çÇÑ Ã¼°è¸¦ »ç¿ëÇÏ´Â °ÍÀ» Çã¿ëÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ODBC ÇÏÀ§ ÇÁ·ÎÅäÄÝÀº URLÀÌ ¼Ó¼º °ªÀ» °®´Â °ÍÀ» Çã¿ëÇÕ´Ï´Ù. ÇÏÁö¸¸ ¼Ó¼º °ªÀ» ¿ä±¸ÇÏÁö´Â ¾Ê½À´Ï´Ù.

µÎ ¹øÂ°·Î, JDBC URLÀº µå¶óÀ̹ö ÀÛ¼ºÀÚ°¡ JDBC URL ¾È¿¡ ÇÊ¿äÇÑ ¸ðµç ¿¬°á Á¤º¸¸¦ ÀÎÄÚµùÇÒ ¼ö ÀÖµµ·Ï Çã¿ëÇÕ´Ï´Ù. µû¶ó¼­ »ç¿ëÀÚ°¡ ½Ã½ºÅÛ °ü¸® ÀÛ¾÷À» ÇÏÁö ¾Ê´õ¶óµµ ÁÖ¾îÁø µ¥ÀÌÅͺ£À̽º¿Í Åë½ÅÇÏ·Á´Â ¾ÖÇø´ÀÌ µ¥ÀÌÅͺ£À̽º ¿¬°áÀ» ¿­ ¼ö ÀÖ½À´Ï´Ù.

¼¼ ¹øÂ°·Î, JDBC URLÀº ÁÖ¼Ò °£Á¢µµ¸¦ Çã¿ëÇÕ´Ï´Ù. ÀÌ´Â JDBC URLÀÌ ³×Æ®¿öÅ© À̸§ ÁöÁ¤ ½Ã½ºÅÛ¿¡ ÀÇÇØ ½ÇÁ¦ À̸§À¸·Î µ¿Àû º¯È¯µÇ´Â ·ÎÄà ȣ½ºÆ®³ª µ¥ÀÌÅͺ£À̽º À̸§À» ÂüÁ¶ÇÒ °ÍÀÓÀ» ÀǹÌÇÕ´Ï´Ù. µû¶ó¼­ ½Ã½ºÅÛ °ü¸®Àڴ ƯÁ¤ È£½ºÆ®¸¦ JDBC À̸§ÀÇ ÀϺηΠÁöÁ¤ÇÏÁö ¾Ê¾Æµµ µË´Ï´Ù. ´Ù¾çÇÑ ³×Æ®¿öÅ© À̸§ ¼­ºñ½º°¡ ¸¹ÀÌ ÀÖÀ¸¸ç »ç¿ëÇÒ ¼ö ÀÖ´Â ¼­ºñ½º¿¡ ´ëÇÑ Á¦ÇÑÀº ¾ø½À´Ï´Ù.

JDBC URLÀÇ Ç¥ÁØ ±¸¹®Àº ´ÙÀ½°ú °°½À´Ï´Ù. ¼¼ ºÎºÐÀ¸·Î µÇ¾î ÀÖÀ¸¸ç ÄÝ·ÐÀ¸·Î ±¸ºÐÇÕ´Ï´Ù.

jdbc:<subprotocol>:<subname>

JDBC URLÀÇ ¼¼ ºÎºÐÀº ´ÙÀ½°ú °°ÀÌ ±¸¼ºµË´Ï´Ù.

JDBC ¿¬°á Ç® ±¸¼º

Sun ONE Application Server¿¡¼­ »ç¿ëÀÚ´Â À̸§ÀÌ ÁöÁ¤µÈ JDBC ¿¬°á Ç®À» ¸¸µé ¼ö ÀÖ½À´Ï´Ù. JDBC ¿¬°á Ç®Àº ¿¬°á Ç®À» ¸¸µå´Â µ¥ »ç¿ëµÇ´Â µî·Ï Á¤º¸¸¦ Á¤ÀÇÇÕ´Ï´Ù. Ç® Á¤ÀÇÀÇ À̸§ÀÌ ÁöÁ¤µÇ¸ç ¿©·¯ JDBC ÀÚ¿øÀ» ±¸¼ºÇϱâ À§ÇØ Á¤ÀǸ¦ ´Ù½Ã »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. À̸§ÀÌ ÁöÁ¤µÈ °¢ Ç® Á¤ÀÇ´Â ¼­¹ö ½ÃÀÛ ½Ã ¹°¸®Àû Ç®À» ÀνºÅϽºÈ­ÇÕ´Ï´Ù. µÎ °³ ÀÌ»óÀÇ JDBC ÀÚ¿øÀÌ °°Àº Ç® Á¤ÀǸ¦ °¡¸®Å°´Â °æ¿ì ÀÌ·¯ÇÑ ÀÚ¿øÀº ·±Å¸ÀÓ¿¡ °°Àº ¿¬°á Ç®À» »ç¿ëÇÏ°Ô µË´Ï´Ù.

´ÙÀ½ Àý¿¡¼­ ¼³¸íÇÏ´Â ´ë·Î °ü¸® ÀÎÅÍÆäÀ̽º¿Í ¸í·ÉÁÙ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© JDBC ¿¬°á Ç®À» ¸¸µé°í ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

°ü¸® ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© »õ JDBC ¿¬°á Ç® ¸¸µé±â

°ü¸® ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© »õ JDBC ¿¬°á Ç®À» ¸¸µé·Á¸é ´ÙÀ½À» ¼öÇàÇÕ´Ï´Ù.

  1. °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ ¿ÞÂÊ Ã¢¿¡¼­ JDBC ¿¬°á Ç®À» ¸¸µé Sun ONE Application Server ÀνºÅϽº¸¦ ¿±´Ï´Ù.
  2. Sun ONE Application Server¿¡ ³ª¿­µÈ J2EE ¼­ºñ½º ¸ñ·Ï¿¡¼­ JDBC¸¦ ¼±ÅÃÇÏ¿© ±× ¾Æ·¡ÀÇ ConnectionPools ÅÇÀ» ¿±´Ï´Ù. "»õ JDBC ¿¬°á Ç® ¸¸µé±â" ±×¸²°ú °°Àº È­¸éÀÌ °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ ¿À¸¥ÂÊ Ã¢¿¡ Ç¥½ÃµË´Ï´Ù.

±×¸² 10-7 »õ JDBC ¿¬°á Ç® ¸¸µé±â

»õ JDBC ¿¬°á Ç®À» ¸¸µé ¼ö ÀÖ´Â °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ Ã¢À» º¸¿©ÁÖ´Â ±×¸²ÀÔ´Ï´Ù.

  1. ¸¸µé°í ÀÖ´Â ¿¬°á Ç®ÀÇ JNDI À̸§À» "À̸§" Çʵ忡 ÀÔ·ÂÇÕ´Ï´Ù.
  2. »õ ¿¬°á Ç®¿¡ ´ëÇØ Àü¿ª Æ®·£Àè¼Ç Áö¿øÀ» Ȱ¼ºÈ­ÇÏ·Á¸é "Àü¿ª Æ®·£Àè¼Ç Áö¿ø »ç¿ë" È®ÀζõÀ» ¼±ÅÃÇÕ´Ï´Ù. Àü¿ª Æ®·£Àè¼Ç¿¡ Âü¿©ÇÒ ¼ö ÀÖ´Â ¿¬°á Ç®À» XA °¡´É ¿¬°á Ç®À̶ó°í ÇÕ´Ï´Ù.
  3. "µ¥ÀÌÅͺ£À̽º °ø±Þ¾÷ü" µå·Ó´Ù¿î ¸ñ·Ï¿¡¼­ µ¥ÀÌÅͺ£À̽º °ø±Þ¾÷ü¸¦ ¼±ÅÃÇϰí "´ÙÀ½"À» ´©¸¨´Ï´Ù. ´ÙÀ½°ú °°Àº È­¸é¿¡¼­ ¿¬°á Ç® ¼³Á¤À» ±¸¼ºÇØ¾ß ÇÕ´Ï´Ù.
¿¬°á Ç® ¼³Á¤ ±¸¼º

Ç® ¼³Á¤À» ±¸¼ºÇÏ·Á¸é "°ü¸® ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© »õ JDBC ¿¬°á Ç® ¸¸µé±â"ÀÇ ´Ü°è 1-´Ü°è 5¸¦ ¼öÇàÇÕ´Ï´Ù. ´Ü°è 5¿¡ ¼³¸íÇÑ ´ë·Î "´ÙÀ½"À» ´©¸£¸é °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ ¿À¸¥ÂÊ Ã¢¿¡ »õ ÆäÀÌÁö°¡ Ç¥½ÃµË´Ï´Ù. ¿©±â¿¡´Â ´ÙÀ½°ú °°Àº ¼½¼ÇÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

´ÙÀ½ Ç¥ÀÇ Áöħ¿¡ µû¶ó Á¦°øµÈ ¸Å°³ º¯¼öÀÇ °ªÀ» ÀÌ ÆäÀÌÁöÀÇ "ÀϹÝ" ¼½¼Ç¿¡¼­ ÁöÁ¤ÇÕ´Ï´Ù.

Ç¥ 10-2 ÀÏ¹Ý ¼³Á¤

¸Å°³ º¯¼ö

¼³¸í

À̸§

¿¬°á Ç®ÀÇ À̸§ÀÔ´Ï´Ù.

µ¥ÀÌÅÍ ¼Ò½º Ŭ·¡½º À̸§

µ¥ÀÌÅÍ ¼Ò½º ¹×/¶Ç´Â XADataSource API¸¦ ±¸ÇöÇÏ´Â °ø±Þ¾÷üº° Ŭ·¡½º À̸§ÀÔ´Ï´Ù.

¼³¸í

¿¬°á Ç®¿¡ ´ëÇÑ ¼³¸íÀÔ´Ï´Ù.

ÀÌ ÆäÀÌÁöÀÇ "µî·Ï Á¤º¸" ¼½¼Ç¿¡¼­ Ç¥ÁØ ¹× µ¶Á¡ JDBC ¿¬°á Ç® µî·Ï Á¤º¸¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ µî·Ï Á¤º¸ Áß ¸¹Àº ºÎºÐÀº ¼±Åà »çÇ×ÀÔ´Ï´Ù. ±âº»ÀûÀ¸·Î ¸ðµç Ç¥ÁØ µî·Ï Á¤º¸ÀÇ À̸§ÀÌ Á¦°øµË´Ï´Ù. ¾î¶² Ç¥ÁØ µî·Ï Á¤º¸ ¹× °ø±Þ¾÷ü °ü·Ã µî·Ï Á¤º¸°¡ ÇÊ¿äÇÑÁö È®ÀÎÇÏ·Á¸é µ¥ÀÌÅͺ£À̽º °ø±Þ¾÷üÀÇ ¼³¸í¼­¸¦ ÂüÁ¶ÇØ¾ß ÇÕ´Ï´Ù.

´ÙÀ½ Ç¥ÀÇ Áöħ¿¡ µû¶ó Á¦°øµÈ ¸Å°³ º¯¼öÀÇ °ªÀ» ÀÌ Ã¢ÀÇ "Ç® ¼³Á¤" ¼½¼Ç¿¡¼­ ÁöÁ¤ÇÕ´Ï´Ù.

Ç¥ 10-3 ¿¬°á Ç® ¼³Á¤

¸Å°³ º¯¼ö

¼³¸í

°íÁ¤ Ç® Å©±â

Ç®¿¡¼­ À¯ÁöÇØ¾ß ÇÏ´Â ÃÖ¼Ò ¿¬°á ¼ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ¿äûµÈ ½º·¹µå¿¡ ¿¬°áÀÌ ÇÒ´çµÇ¸é ÇØ´ç ½º·¹µå°¡ Ç®¿¡¼­ Á¦°ÅµÇ¹Ç·Î ÇöÀç Ç® Å©±â°¡ ÁÙ¾îµì´Ï´Ù. °íÁ¤ Ç® Å©±â´Â ¼­¹ö ½ÃÀÛ ½Ã Ç®¿¡ Ãß°¡µÉ Ç׸ñ ¼öµµ ÂüÁ¶ÇÕ´Ï´Ù.

ÃÖ´ë Ç® Å©±â

ÁöÁ¤µÈ ½ÃÁ¡¿¡¼­ Ç®¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ÃÖ´ë ¿¬°á ¼ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

Ç® Å©±â Á¶Á¤ °³¼ö

Ç®ÀÌ °íÁ¤ Ç® Å©±â·Î Ãà¼ÒµÇ¸é Àϰý ó¸®ÀÇ Å©±â°¡ Á¶Á¤µË´Ï´Ù. ÀÌ °ªÀº Àϰý ó¸®ÀÇ Å©±â¸¦ °áÁ¤ÇÕ´Ï´Ù. ÀÌ °ªÀ» ³Ê¹« Å©°Ô ÇÏ¸é ¿¬°á Àç¼øÈ¯ÀÌ ³Ê¹« ÁöüµÇ¸ç ³Ê¹« Àû°Ô Çϸé È¿À²¼ºÀÌ ¶³¾îÁý´Ï´Ù. Ç® ¿ë·®Àº ÇÑ ¹ø¿¡ ¿¬°áÀ» ÇÑ °³¸¸ Áõ°¡½ÃŰ¹Ç·Î ÀÌ Çʵå´Â Ç® ¿ë·® Áõ°¡¿¡´Â ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê½À´Ï´Ù.

À¯ÈÞ ½Ã°£ Ãʰú(ÃÊ)

Ç®¿¡¼­ ¿¬°áÀÌ À¯ÈÞ »óÅ·ΠÀÖÀ» ¼ö ÀÖ´Â ÃÖ´ë ½Ã°£(ÃÊ)ÀÔ´Ï´Ù. ÀÌ ½Ã°£ÀÌ Áö³ª¸é Ç® ±¸Çö¿¡¼­ ÇØ´ç ¿¬°áÀ» ´ÝÀ» ¼ö ÀÖ½À´Ï´Ù.

ÃÖ´ë ´ë±â ½Ã°£

¿¬°á ½Ã°£ÀÌ ÃʰúµÉ ¶§±îÁö È£ÃâÀÚ°¡ ´ë±âÇØ¾ß ÇÏ´Â ½Ã°£ÀÔ´Ï´Ù. ±âº» ´ë±â ½Ã°£Àº longÀ̹ǷΠȣÃâÀÚ´Â ¿À·§ µ¿¾È ´ë±âÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ Ã¢ÀÇ ¿¬°á °ËÁõ ¼½¼Ç°ú Æ®·£Àè¼Ç °Ý¸® ¼½¼Ç¿¡¼­ ´ÙÀ½ Ç¥ÀÇ Áöħ¿¡ µû¶ó ¿¬°á Ç®À» À§ÇÑ °ËÁõ ¹æ¹ý°ú Æ®·£Àè¼Ç °Ý¸® ¹æ¹ýÀ» ¼±ÅÃÇÕ´Ï´Ù.

Ç¥ 10-4 ¿¬°á °ËÁõ ¹× Æ®·£Àè¼Ç °Ý¸®

¸Å°³ º¯¼ö

¼³¸í

¿¬°á °ËÁõ ÇÊ¿ä

ÀÌ Çʵ带 ¼±ÅÃÇÏ¸é ¿¬°áÀÌ ÀÀ¿ë ÇÁ·Î±×·¥À¸·Î Àü´ÞµÇ±â Àü¿¡ °ËÁõµË´Ï´Ù. µû¶ó¼­ ³×Æ®¿öÅ© ½ÇÆÐ³ª µ¥ÀÌÅͺ£À̽º ¼­¹ö Å©·¡½Ã·Î ÀÎÇØ µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì ÀÀ¿ë ÇÁ·Î±×·¥ ¼­¹ö°¡ µ¥ÀÌÅͺ£À̽º ¿¬°áÀ» ÀÚµ¿À¸·Î ´Ù½Ã ¼³Á¤ÇÕ´Ï´Ù. ¿¬°á °ËÁõÀ» ¼öÇàÇϸé Ãß°¡ ¿À¹öÇìµå°¡ ¹ß»ýÇÏ¸ç ¼º´ÉÀÌ ¾à°£ ÀúÇϵ˴ϴÙ.

°ËÁõ ¹æ¹ý

µ¥ÀÌÅͺ£À̽º ¿¬°áÀ» °ËÁõÇϱâ À§ÇØ ÀÀ¿ë ÇÁ·Î±×·¥ ¼­¹ö¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ¸·Î´Â ¼¼ °¡Áö°¡ ÀÖ½À´Ï´Ù. ÀûÀýÇÑ ¹æ¹ýÀ» °áÁ¤ÇÏ·Á¸é »ç¿ë ÁßÀÎ µ¥ÀÌÅͺ£À̽ºÀÇ ±â´É¿¡ ´ëÇØ Àß ¾Ë°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¼¼ °¡Áö °ËÁõ ¹æ¹ýÀº ´ÙÀ½°ú °°½À´Ï´Ù.

  • auto-commit, meta-data - con.getAutoCommit() ¹× con.getMetaData() ¸Þ¼Òµå´Â ÀϹÝÀûÀ¸·Î ¿¬°áÀ» °ËÁõÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ¾ÈŸ±õ°Ôµµ ¸¹Àº JDBC µå¶óÀ̹ö´Â ÀÌ·¯ÇÑ È£Ãâ °á°ú¸¦ ij½ÃÇϹǷΠÇ×»ó ½Å·ÚÇÒ¸¸ÇÑ °ËÁõ °á°ú¸¦ Á¦°øÇÏÁö´Â ¾Ê½À´Ï´Ù. ÀÌ·¯ÇÑ È£ÃâÀÇ Ä³½Ã ¿©ºÎ¸¦ °áÁ¤ÇÏ·Á¸é °ø±Þ¾÷ü¿¡ È®ÀÎÇØ¾ß ÇÕ´Ï´Ù.
  • table: ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇÏ·Á¸é ÀÀ¿ë ÇÁ·Î±×·¥ ¼­¹ö°¡ »ç¿ëÀÚ ÁöÁ¤ Å×ÀÌºí¿¡ ´ëÇØ Äõ¸®¸¦ ¼öÇàÇØ¾ß ÇÕ´Ï´Ù. ½ÇÁ¦ Äõ¸®´Â "select (count *) from <table-name>"ÀÔ´Ï´Ù. ÇàÀº ¾ø¾îµµ µÇÁö¸¸ Å×À̺íÀº ¹Ýµå½Ã ÀÖ¾î¾ß ÇÏ°í ¾×¼¼½ºÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¸¹Àº ¼öÀÇ ÇàÀÌ ÀÖ´Â ±âÁ¸ Å×À̺íÀ̳ª ÀÌ¹Ì ÀÚÁÖ ¾×¼¼½ºÇÏ´Â Å×À̺íÀº »ç¿ëÇÏÁö ¸¶½Ê½Ã¿À.

Å×À̺í À̸§

"°ËÁõ ¹æ¹ý" µå·Ó´Ù¿î ¸ñ·Ï¿¡¼­ ¸¶Áö¸· °ËÁõ ¿É¼Ç, tableÀ» ¼±ÅÃÇÏ´Â °æ¿ì ¿©±â¿¡¼­ Å×À̺í À̸§À» ÁöÁ¤ÇÕ´Ï´Ù.

¸ðµç ¿¬°á ²÷±â

Ç®ÀÇ ¸ðµç ¿¬°áÀ» ²÷À¸·Á¸é ÀÌ È®ÀζõÀ» ¼±ÅÃÇϰí ÇÑ ¿¬°á¸¸ ²÷À¸·Á¸é ¿¬°áÀ» ´Ù½Ã ¼³Á¤ÇϽʽÿÀ. ÀÌ È®ÀζõÀ» ¼±ÅÃÇÏÁö ¾ÊÀ¸¸é ¿¬°áÀº »ç¿ëµÉ ¶§¸¸ °³º°ÀûÀ¸·Î ´Ù½Ã ¼³Á¤µË´Ï´Ù.

Æ®·£Àè¼Ç °Ý¸®

ÀÌ ¿¬°áÀÇ Æ®·£Àè¼Ç °Ý¸® ¼öÁØÀ» ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ È®ÀζõÀ» ¼±ÅÃÇÏÁö ¾ÊÀ¸¸é Ç®Àº JDBC µå¶óÀ̹ö¿¡¼­ Á¦°øÇÏ´Â ±âº» °Ý¸® ¼öÁØÀ¸·Î ½ÇÇàµË´Ï´Ù.

°Ý¸® ¼öÁØ º¸Àå

°Ý¸® ¼öÁØÀÌ ÁöÁ¤µÈ °æ¿ì¿¡¸¸ Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼­ Ç®¿¡¼­ °¡Á®¿Â ¿¬°áÀº Ç×»ó µ¿ÀÏÇÑ °Ý¸® ¼öÁØÀ» °®°Ô µË´Ï´Ù. ¿¹¸¦ µé¾î, ¸¶Áö¸·À¸·Î »ç¿ëÇßÀ» ¶§ ¿¬°áÀÇ °Ý¸® ¼öÁØÀ» ÇÁ·Î±×·¡¹Ö ¹æ½ÄÀ¸·Î º¯°æÇÑ °æ¿ì
(¿¹: con.setTransactionIsolation) ÀÌ ¸ÞÄ¿´ÏÁòÀº ¿¬°áÀÇ °Ý¸® ¼öÁØÀ» ÁöÁ¤µÈ °Ý¸® ¼öÁØÀ¸·Î ´Ù½Ã º¯°æÇÕ´Ï´Ù.

¸í·ÉÁÙ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© »õ JDBC ¿¬°á Ç® ¸¸µé±â

ÀÌ Àý¿¡¼­´Â ¿¹¸¦ ÅëÇØ ¸í·ÉÁÙ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© JDBC ¿¬°á Ç®À» ¸¸µå´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.

´ÙÀ½ Ç¥´Â ¿¬°á Ç®À» ¸¸µå´Â µ¥ ÇÊ¿äÇÑ ¸ðµç ¿É¼Ç(¿¹: ¼­¹ö À̸§, ºñ¹Ð¹øÈ£)À» ³ª¿­ÇÕ´Ï´Ù. ´ÙÀ½ Ç¥¿¡´Â »ùÇà °ªÀÌ »ç¿ëµÇ¾ú½À´Ï´Ù. ÀÌ Àý¿¡¼­ ¼³¸íÇÑ ¸í·ÉÀ» ½ÇÇàÇϱâ Àü¿¡ Sun ONE Application Server ¼³Ä¡¿Í °ü·ÃµÈ ¸Å°³ º¯¼ö¸¦ ÁغñÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.

Ç¥ 10-5 ¸í·ÉÁÙ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© JDBC ¿¬°á Ç®À» ¸¸µå´Â µ¥ ÇÊ¿äÇÑ ¿É¼Ç

ÇÊ¿äÇÑ ¿É¼Ç ¼³¸í

»ùÇÃ °ª

ÀÀ¿ë ÇÁ·Î±×·¥ ¼­¹ö °ü¸® »ç¿ëÀÚ À̸§

admin

ÀÀ¿ë ÇÁ·Î±×·¥ ¼­¹ö °ü¸® ºñ¹Ð¹øÈ£

adminadmin

ÀÀ¿ë ÇÁ·Î±×·¥ ¼­¹ö °ü¸® Æ÷Æ®

8888

ÀÀ¿ë ÇÁ·Î±×·¥ ¼­¹ö ÄÄÇ»ÅÍ À̸§

sas.sun.com

ÀÀ¿ë ÇÁ·Î±×·¥ ¼­¹ö ÀνºÅϽº À̸§

server1

¿¬°á Ç®ÀÇ µ¥ÀÌÅÍ ¼Ò½º Ŭ·¡½º À̸§

oracle.jdbc.xa.client.OracleXADataSource

ÁÖ: ¿¬°á Ç®À» ¸¸µé µ¥ÀÌÅͺ£À̽ºÀÇ µ¥ÀÌÅÍ ¼Ò½º Ŭ·¡½º À̸§À» »ç¿ëÇÕ´Ï´Ù. ÀÌ ¿¹¿¡¼­ »ç¿ëµÇ´Â µ¥ÀÌÅͺ£À̽º´Â OracleÀÔ´Ï´Ù.

Jdbc ÀÚ¿ø ¼³¸í »ùÇÃ

Jdbc ÀÚ¿ø

¿¬°á Ç® ¼³¸í »ùÇÃ

Jdbc ¿¬°á Ç®

Jdbc ÀÚ¿ø À̸§

jdbc/SampleJdbcResource

¿¬°á Ç® À̸§

SampleJdbcConnectionPool

µ¥ÀÌÅͺ£À̽º »ç¿ëÀÚ À̸§

oracle

µ¥ÀÌÅͺ£À̽º À̸§

oracle

Jdbc ¿¬°á URL

jdbc:oracle:thin:@oracleserver.sun.com:1521:ORA

´ÙÀ½ ¿¹¿¡¼­´Â "¸í·ÉÁÙ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© JDBC ¿¬°á Ç®À» ¸¸µå´Â µ¥ ÇÊ¿äÇÑ ¿É¼Ç" Ç¥¿¡ ³ª¿­µÈ º¯¼ö¸¦ »ç¿ëÇÕ´Ï´Ù.

¿¹ 1:

ÀÌ ¿¹¿¡¼­´Â SampleJdbcConnectionPoolÀ̶ó´Â JDBC ¿¬°á Ç®À» ¸¸µì´Ï´Ù. ÀÌ ¿¹¿¡¼­´Â JDBC ¿¬°á Ç®À» ¸¸µé±â À§ÇØ ´ÙÀ½°ú °°ÀÌ µÎ ´Ü°è °úÁ¤À» »ç¿ëÇÕ´Ï´Ù.

1´Ü°è - ¿¬°á Ç® ¸¸µé±â

´ÙÀ½Àº JDBC ¿¬°á Ç®À» ¸¸µé±â À§ÇÑ ¸í·ÉÁÙ ÀÎÅÍÆäÀ̽º ±¸¹®ÀÔ´Ï´Ù.

asadmin create-jdbc-connection-pool --user admin_user [--password admin_password] [--host localhost] [--port 4848] [--secure | -s] [--instance instancename] --datasourceclassname classname [--restype res_type] [--steadypoolsize 8] [--maxpoolsize 32] [--maxwait 60000] [--poolresize 2] [--idletimeout 300] [--isolationlevel isolation_level] [--isisolationguaranteed] [--isconnectvalidatereq=false] [--validationmethod auto-commit] [--validationtable tablename] [--failconnection=false] [--description text] [--property (name=value)[:name=value]*] connectionpool_id

¿¹¸¦ µé¾î, ´ÙÀ½ ¸í·ÉÀº SampleJdbcConnectionPoolÀ̶ó´Â ¿¬°á Ç®À» ¸¸µì´Ï´Ù.

asadmin create-jdbc-connection-pool --user admin --password adminadmin --host sas.sun.com --port 8888 --instance server1 --restype javax.sql.XADataSource --datasourceclassname oracle.jdbc.xa.client.OracleXADataSource --description "Sample Jdbc Connection Pool" --property User="oracle":Password="oracle":URL="jdbc\:oracle\:thin\:@oracleserver.sun.com\:1521\:ORA" SampleJdbcConnectionPool


ÁÖ

»õ ¿¬°á Ç®¿¡ ´ëÇØ Àü¿ª Æ®·£Àè¼Ç Áö¿øÀ» Ȱ¼ºÈ­ÇÏ·Á¸é --restype javax.sql.XADataSource¸¦ ¼³Á¤ÇÕ´Ï´Ù. URL µî·Ï Á¤º¸¿¡¼­ ÄÝ·Ð(:)À» (\:)À¸·Î ¹Ù²Ù½Ê½Ã¿À.


JDBC ¿¬°á Ç®ÀÌ ¼º°øÀûÀ¸·Î ¸¸µé¾îÁö¸é ´ÙÀ½ ¸Þ½ÃÁö°¡ Ç¥½ÃµË´Ï´Ù.

Created the JDBC connection pool resource with id = SampleJdbcConnectionPool

2´Ü°è - ÀνºÅϽº¿¡ º¯°æ »çÇ× Àû¿ë

ÀÌÁ¦ JDBC ¿¬°á Ç®À» ¼º°øÀûÀ¸·Î ¸¸µé¾úÀ¸¹Ç·Î ÀÌ·¯ÇÑ º¯°æ »çÇ×À» Sun ONE Application ServerÀÇ ÇöÀç ÀνºÅϽº¿¡ Àû¿ëÇØ¾ß ÇÕ´Ï´Ù.

´ÙÀ½Àº Sun ONE Application ServerÀÇ ÀνºÅϽº¿¡ º¯°æ »çÇ×À» Àû¿ëÇϱâ À§ÇÑ ±¸¹®ÀÔ´Ï´Ù.

asadmin reconfig --user admin_user [--password admin_password] [--host localhost] [--port adminport] [--secure | -s] [--discardmanualchanges=false|--keepmanualchanges=false] instancename

¿¹¸¦ µé¾î, ´ÙÀ½ ¸í·ÉÀº Sun ONE Application ServerÀÇ ÀνºÅϽºÀÎ server1¿¡ º¯°æ »çÇ×À» Àû¿ëÇÕ´Ï´Ù.

asadmin reconfig --user admin --password adminadmin --host sas.sun.com --port 8888 server1

Sun ONE Application ServerÀÇ ÀνºÅϽº¿¡ º¯°æ »çÇ×ÀÌ Àû¿ëµÇ¸é ´ÙÀ½ ¸Þ½ÃÁö°¡ Ç¥½ÃµË´Ï´Ù.

Successfully reconfigured

¸í·ÉÁÙ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© JDBC ¿¬°á Ç® °ü¸®

ÀÌ Àý¿¡¼­ ¼³¸íÇÏ´Â ´ë·Î ¸í·ÉÁÙ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© JDBC ¿¬°á Ç®°ú ÇØ´ç µî·Ï Á¤º¸¸¦ °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿¬°á Ç® ³ª¿­. ´ÙÀ½ ¸í·ÉÀº 2´Ü°è ¿¡¼­ »ç¿ëÇÑ Sun ONE Application ServerÀÇ ÀνºÅϽºÀÎ server1¿¡ ´ëÇØ ¸¸µç ¸ðµç ¿¬°á Ç®À» ³ª¿­ÇÕ´Ï´Ù.

asadmin list-jdbc-connection-pools --user admin --password adminadmin --host sas.sun.com --port 8888 server1

JDBC ¿¬°á Ç® µî·Ï Á¤º¸ º¯°æ. ´ÙÀ½°ú °°ÀÌ maxPoolSize µî·Ï Á¤º¸ °°Àº JDBC ¿¬°á Ç® µî·Ï Á¤º¸¸¦ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù.

  1. JDBC ¿¬°á Ç® ¼Ó¼º maxPoolSize¿¡ ÁöÁ¤ÇÑ °ªÀ» ¾òÀ¸·Á¸é ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÕ´Ï´Ù.
  2. asadmin get -u admin -w adminadmin -H sas.sun.com -p 8888 server1.jdbc-connection-pool.SampleJdbcConnectionPool.maxPoolSize

    ÀÌ ¸í·ÉÀ» ½ÇÇàÇÏ¸é ´ÙÀ½°ú °°Àº °á°ú°¡ Ç¥½ÃµË´Ï´Ù.

    server1.jdbc-connection-pool.SampleJdbcConnectionPool.maxPoolSize = 32

    ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÏ¿© MaxPoolSize °ªÀ» 80À¸·Î º¯°æÇÕ´Ï´Ù.

    asadmin set -u admin -w adminadmin -H sas.sun.com -p 8888 server1.jdbc-connection-pool.SampleJdbcConnectionPool.maxPoolSize="80"

    Ç¥½ÃµÈ ´ë·Î °ªÀ» ÁöÁ¤ÇÏ¸é ´ÙÀ½ ¸Þ½ÃÁö°¡ Ç¥½ÃµË´Ï´Ù.

    Attribute maxPoolSize set to 80

  3. ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÏ¿© Sun ONE Application ServerÀÇ ÀνºÅϽº¿¡ º¯°æ »çÇ×À» Àû¿ëÇÕ´Ï´Ù.
  4. asadmin reconfig --user admin --password adminadmin --host sas.sun.com --port 8888 server1

»ç¿ëÀÚ µî·Ï Á¤º¸ º¯°æ. ´ÙÀ½ »ùÇà Äڵ忡¼­ "User" µî·Ï Á¤º¸¸¦ oracle¿¡¼­ SystemÀ¸·Î º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù.

asadmin create-jdbc-connection-pool --user admin --password adminadmin --host sas.sun.com --port 8888 --instance server1 --restype javax.sql.XADataSource --datasourceclassname oracle.jdbc.xa.client.OracleXADataSource --description "Sample Jdbc Connection Pool" --property User="oracle":Password="oracle":URL="jdbc\:oracle\:thin\:@oracleserver.sun.com\:1521\:ORA" SampleJdbcConnectionPool

  1. »ç¿ëÀÚ µî·Ï Á¤º¸¸¦ º¯°æÇÏ·Á¸é ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÕ´Ï´Ù.
  2. asadmin set -u admin -w adminadmin -H sas.sun.com -p 8888 server1.jdbc-connection-pool.SampleJdbcConnectionPool.property.User="System"

    »ç¿ëÀÚ À̸§ÀÌ Oracle¿¡¼­ SystemÀ¸·Î º¯°æµË´Ï´Ù.

  3. »ç¿ëÀÚ À̸§À» º¯°æÇÏ°í ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÏ¿© º¯°æ »çÇ×À» Àû¿ëÇÕ´Ï´Ù.
  4. asadmin reconfig --user admin --password adminadmin --host sas.sun.com --port 8888 server1

SampleJdbcResource¶ó´Â JDBC ÀÚ¿ø ¸¸µé±â. ¾Æ·¡¿¡ ¼³¸íÇÑ ´ë·Î JDBC ÀÚ¿øÀ» ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½Àº JDBC ÀÚ¿øÀ» ¸¸µé±â À§ÇÑ ±¸¹®ÀÔ´Ï´Ù.

asadmin create-jdbc-resource --user admin_user [--password admin_password] [--host localhost] [--port 4848] [--secure | -s] [--instance instancename] --connectionpoolid id [--enabled=true] [--description text] [--property (name=value)[:name=value]*] jndiname

  1. SampleJdbcResource¶ó´Â JDBC ÀÚ¿øÀ» ¸¸µé·Á¸é ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÕ´Ï´Ù.
  2. asadmin create-jdbc-resource --user admin --password adminadmin --host sas.sun.com --port 8888 --instance server1 --description "Sample Jdbc Resource" --connectionpoolid SampleJdbcConnectionPool jdbc/SampleJdbcResource

    ÀÌ ¸í·ÉÀ» ½ÇÇàÇϸé JDBC ÀÚ¿øÀÌ ¸¸µé¾îÁö°í ´ÙÀ½ ¸Þ½ÃÁö°¡ Ç¥½ÃµË´Ï´Ù.

    Created the external JDBC resource with jndiname = jdbc/SampleJdbcResource

  3. ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÏ¿© Sun ONE Application ServerÀÇ ÀνºÅϽº¿¡ º¯°æ »çÇ×À» Àû¿ëÇÕ´Ï´Ù.
  4. asadmin reconfig --user admin --password adminadmin --host sas.sun.com --port 8888 server1

  5. ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÏ¿© server1 ÀνºÅϽºÀÇ JDBC ÀÚ¿øÀ» ¸ðµÎ ³ª¿­ÇÕ´Ï´Ù.
  6. asadmin list-jdbc-resources --user admin --password adminadmin --host sas.sun.com --port 8888 server1

¿¬°á Ç®¸µ Á¤º¸

ÀÀ¿ë ÇÁ·Î±×·¥Àº JNDI¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅÍ ¼Ò½º¸¦ ¸ÕÀú Á¶È¸ÇÏ¿© ¿¬°áÀ» ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÀÛ¾÷À» À§ÇÑ »ùÇà ÄÚµå ´ÜÆíÀÌ ¾Æ·¡¿¡ ³ª¿Í ÀÖ½À´Ï´Ù.

InitialContext ctx = new InitialContext();

DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/employee_ds");

DataSource¸¦ ¾òÀº ´ÙÀ½ ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò´Â J2EE ¹èÆ÷ ¼³¸íÀÚÀÇ <res-auth> ¿ä¼Ò¿¡ ¼³Á¤µÈ °ª¿¡ µû¶ó µÎ °¡Áö ¹æ¹ýÀ¸·Î ¿¬°áÀ» ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¿ä¼ÒÀÇ °ªÀÌ ContainerÀÎ °æ¿ì ÀÀ¿ë ÇÁ·Î±×·¥Àº ds.getConnection() ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿©(Áï, ·Î±×¿Â Á¤º¸¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ½) ¿¬°áÀ» ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì ÀÀ¿ë ÇÁ·Î±×·¥Àº ·Î±×¿Â Á¤º¸¸¦ ÀÔ·ÂÇØ¾ß¸¸ ds.getConnecion(userName, password) °°Àº ÀÚ¿ø °ü¸®ÀڷκÎÅÍ ¿¬°áÀ» ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.

getConnection()¿¡ ´ëÇÑ ¸ðµç ¿äûÀº Ç®¿¡¼­ 󸮵˴ϴÙ. server.xml¿¡¼­ ¼³¸íµÈ ÀÏ·ÃÀÇ ¸Å°³ º¯¼ö¿¡ µû¶ó JDBC ¿¬°á Ç®ÀÌ ¸¸µé¾îÁý´Ï´Ù. Ç®ÀÌ ¸¸µé¾îÁö¸é Ç®¿¡¼­ óÀ½¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¿¬°á °³¼ö°¡ ÁöÁ¤µË´Ï´Ù. µû¶ó¼­ ds.getConnection() ¿äûÀº Ç®¿¡¼­ ÇöÀç »ç¿ëÇÒ ¼ö ÀÖ´Â ¿¬°á¿¡ µû¶ó ó¸®µÉ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ¿äûÀº Ç®ÀÌ ºñ¾î ÀÖÀ½À» ¹ß°ßÇϰí(ÀÌÀü ¿¬°á Áß¿¡¼­ Ç®·Î ¹ÝȯµÈ ¿¬°áÀÌ ¾ø´Â °æ¿ì) Ç®¿¡ ÁöÁ¤µÈ ÃÖ´ë ¿¬°á °³¼ö Á¦ÇÑ¿¡ µû¶ó ¿¬°á ¼ö¸¦ ´Ã¸®°Ô µË´Ï´Ù. Ç® ±¸ÇöÀº ¸¸µé¾îÁø ¿¬°á °³¼ö¸¦ ÃßÀûÇÕ´Ï´Ù. getConnection() ¿äûÀÌ Ç®ÀÌ ºñ¾î ÀÖÀ½À» ¹ß°ßÇϰųª ¸¸µç ¿¬°á ¼ö°¡ Ç®ÀÇ ÃÖ´ë ¿¬°á ¼ö¿Í °°Àº °æ¿ì ÇöÀç ¿äûÀÌ Â÷´ÜµË´Ï´Ù. ¿¬°á °øÀ¯°¡ °¡´ÉÇÏÁö ¾ÊÀº °æ¿ì¿¡¸¸ Â÷´ÜµÇ¸ç ¿¬°áÀÌ Ç®¿¡ ¹ÝȯµÉ ¶§±îÁö °è¼ÓµË´Ï´Ù.

µ¥ÀÌÅͺ£À̽º°¡ Å©·¡½ÃµÇ¾î ½ÃÀ۵Ǵõ¶óµµ ¿¬°á Ç®ÀÌ °è¼Ó ½ÇÇàµÇ´Â ÇÑ ¿¬°á Ç®Àº °è¼Ó Á¦´ë·Î ÀÛµ¿ÇÕ´Ï´Ù. "¿¬°á Ç® ¼³Á¤ ±¸¼º"¿¡ ¼³¸íÇÑ ´ë·Î ¿¬°á °ËÁõÀ» Ȱ¼ºÈ­ÇÑ °æ¿ì¿¡¸¸ ÀÛµ¿ÇÕ´Ï´Ù.

"°ËÁõ À¯Çü" µå·Ó´Ù¿î ¸ñ·Ï¿¡¼­ ¼±ÅÃÇÑ °ª¿¡ µû¶ó ´ÙÀ½ ¸Å°³ º¯¼ö°¡ Ç® ±¸Çö ÇÁ·Î±×·¥¿¡ ÀÇÇØ ½ÇÇàµË´Ï´Ù.

fail-all-connections µî·Ï Á¤º¸¸¦ Ȱ¼ºÈ­ÇÑ °æ¿ì Ç®ÀÇ ¿¬°á Áß ¾î´À Çϳª¶óµµ À¯È¿ÇÏÁö ¾ÊÀº °ÍÀ¸·Î È®ÀÎµÇ¸é ¸ðµç ¿¬°áÀÌ ´ÝÈ÷°í ´Ù½Ã ¼³Á¤µË´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì ¹«È¿ ¹× Àç¼³Á¤ÀÌ Áö¿¬µÇ¾ú´Ù°¡ °³º° ¿¬°áÀ» »ç¿ëÇÒ ¶§ ¹ß»ýÇÕ´Ï´Ù.

¶ÇÇÑ Ç® ±¸ÇöÀº Ç®¿¡¼­ »ç¿ë °¡´ÉÇÑ ¿¬°áÀ» ¸ðµÎ Àç¼øÈ¯ÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù. ¿¬°áÀÌ ÁöÁ¤µÈ À¯ÈÞ ±â°£À» ÃʰúÇÏ¿© À¯ÈÞ »óÅ·ΠÀÖ´Â °æ¿ì ¿¬°áÀÌ ´ÝÈ÷¸ç Ç® Å©±â´Â °íÁ¤ Ç® Å©±â·Î ¹Ù²ò´Ï´Ù. Ç®ÀÌ °úµµÇÏ°Ô À¯ÈÞ »óÅ¿¡ ÀÖ´Â °æ¿ì ÄÁÅ×À̳ʰ¡ ºñȰ¼ºÈ­µÈ ¿¬°áÀ» ´Ù½Ã ¼³Á¤ÇÏ·Á°í ½ÃµµÇÒ ¼ö ÀÖÀ¸¹Ç·Î Ç×»ó Ç®À» »ç¿ë °¡´ÉÇÑ °íÁ¤ °³¼ö·Î ä¿ö ³õ¾Æ¾ß ÇÕ´Ï´Ù. ÃÖ´ë Ç® Å©±â¿¡ »ó´ëÀûÀ¸·Î °íÁ¤ Ç® Å©±â¸¦ ¼³Á¤ÇÒ °ÍÀÎÁö ¿©ºÎ¸¦ °áÁ¤ÇÒ ¶§¿¡´Â ÀÌ ³»¿ëÀ» À¯³äÇØ¾ß ÇÕ´Ï´Ù.

JDBC ¿¬°á Ç®¸µ ¸ð´ÏÅ͸µ

Ç® Å©±â ±¸¼ºÀÌ È¿À²ÀûÀ¸·Î ÀÛµ¿ÇÏ´ÂÁö È®ÀÎÇϱâ À§ÇØ Ç® ÀÛ¾÷À» ÁÖ±âÀûÀ¸·Î ¸ð´ÏÅ͸µÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ Ç¥´Â ¸ð´ÏÅ͸µÇÒ ¼ö ÀÖ´Â ¸ðµç JDBC ¿¬°á Ç®¸µ ¸Å°³ º¯¼ö¸¦ ³ª¿­ÇÕ´Ï´Ù.

¸ð´ÏÅ͸µÀ» Ȱ¼ºÈ­ÇÏ´Â ¹æ¹ý°ú ¸ð´ÏÅ͸µÇÒ ¼ö ÀÖ´Â ¼Ó¼ºÀº ´ÙÀ½ ¸±¸®½º¿¡¼­ °³¼±µÉ °ÍÀÔ´Ï´Ù.

Ç¥ 10-6 ¸ð´ÏÅ͸µÀ» À§ÇÑ JDBC ¿¬°á Ç® ¸Å°³ º¯¼ö

¼Ó¼º À̸§

µ¥ÀÌÅÍ À¯Çü

¼³¸í

total-threads-waiting

Á¤¼ö

JDBC ¿¬°áÀ» ´ë±âÇÏ´Â ÃÑ ½º·¹µå ¼ö

total-outbound-connections

Á¤¼ö

ÃÑ JDBC ¿¬°á °ËÁõ ½ÇÆÐ Ƚ¼ö

total-connections-timed-out

Á¤¼ö

½Ã°£ÀÌ ÃʰúµÈ ÃÑ ¿¬°á ¿äû ¼ö

¿¬°á °øÀ¯ Á¤º¸

J2EE ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ ¾òÀº ¿©·¯ ¿¬°áÀÌ µ¿ÀÏÇÑ ÀÚ¿ø °ü¸®ÀÚ¸¦ »ç¿ëÇÏ´Â °æ¿ì Ç® ±¸Çö ½Ã °°Àº Æ®·£Àè¼Ç ¹üÀ§ ³»¿¡¼­ ¿¬°á °øÀ¯¸¦ Á¦°øÇÕ´Ï´Ù. Æ®·£Àè¼Ç ¹üÀ§¶ó´Â ¿ë¾î¸¦ ÀÌÇØÇÏ·Á¸é ´ÙÀ½ ¿¹¸¦ ÂüÁ¶ÇϽʽÿÀ.

Bean_A´Â Æ®·£Àè¼Ç(Tx1)À» ½ÃÀÛÇÏ¿© ¿¬°áÀ» ¾ò½À´Ï´Ù. ±×·± ´ÙÀ½ Bean_A´Â °°Àº Æ®·£Àè¼Ç(Tx1)ÀÇ Bean_B¿¡¼­ ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. Bean_B´Â °°Àº DataSource·ÎºÎÅÍ °°Àº ·Î±×¿Â Á¤º¸¸¦ »ç¿ëÇÏ¿© ¿¬°áÀ» ¾òÀ¸¹Ç·Î Bean_A°¡ Æ®·£Àè¼ÇÀ» ¿Ï·áÇÑ °æ¿ì¿¡¸¸ °°Àº ¿¬°áÀ» °øÀ¯ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ ÀÚ¿ø °øÀ¯ ¹üÀ§°¡ J2ee ¹èÆ÷ ¼³¸íÀÚ¿¡¼­ Shareable·Î ¼³Á¤µÈ °æ¿ì¿¡¸¸ ¿¬°áÀ» °øÀ¯ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¬°á °øÀ¯¸¦ ¿øÇÏÁö ¾Ê´Â °æ¿ì ¹èÆ÷ ¼³¸íÀÚ¿¡¼­ ÀÚ¿ø °øÀ¯ ¹üÀ§¸¦ Unshareable·Î ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù. Sun ONE Application Server´Â ¼º´É Çâ»óÀ» À§ÇØ ¿¬°á °øÀ¯¸¦ Á¦°øÇÕ´Ï´Ù.

JDBC Æ®·£Àè¼Ç Á¤º¸

Æ®·£Àè¼ÇÀº ½ÇÇàµÇ°í ¿Ï·áµÈ ´ÙÀ½ ¿Ï°áµÇ°Å³ª ·Ñ¹éµÈ Çϳª ÀÌ»óÀÇ ¹®À¸·Î ±¸¼ºµË´Ï´Ù. commitÀ̳ª rollback ¸Þ¼Òµå°¡ È£ÃâµÇ¸é ÇöÀç Æ®·£Àè¼ÇÀÌ ³¡³ª°í ´Ù¸¥ Æ®·£Àè¼ÇÀÌ ½ÃÀ۵˴ϴÙ.

ÀϹÝÀûÀ¸·Î »õ ¿¬°á °´Ã¼´Â ±âº»ÀûÀ¸·Î auto-commit ¸ðµå¿¡ ¹èÄ¡µÇ¸ç ÀÌ´Â ¹®ÀÌ ¿Ï·áµÇ¸é ÇØ´ç ¹®¿¡ ´ëÇØ commit ¸Þ¼Òµå°¡ ÀÚµ¿À¸·Î È£ÃâµÉ °ÍÀÓÀ» ÀǹÌÇÕ´Ï´Ù. ÀÌ °æ¿ì °¢ ¹®Àº °³º°ÀûÀ¸·Î ¿Ï°áµÇ¹Ç·Î ÇÑ Æ®·£Àè¼ÇÀº ÇÑ ¹®À¸·Î ±¸¼ºµË´Ï´Ù. auto-commit ¸ðµå°¡ ºñȰ¼ºÈ­µÇ¾î ÀÖ´Â °æ¿ì commitÀ̳ª rollback ¸Þ¼Òµå°¡ ¸í½ÃÀûÀ¸·Î È£ÃâµÉ ¶§±îÁö Æ®·£Àè¼ÇÀº Á¾·áµÇÁö ¾Ê½À´Ï´Ù. µû¶ó¼­ commitÀ̳ª rollback¸¦ ¸¶Áö¸·À¸·Î È£ÃâÇÑ ÀÌÈÄ¿¡ ½ÇÇàµÈ ¸ðµç ¹®À» Æ÷ÇÔÇÏ°Ô µË´Ï´Ù. µÎ ¹øÂ°ÀÇ °æ¿ì Æ®·£Àè¼ÇÀÇ ¸ðµç ¹®Àº ±×·ìÀ¸·Î ¿Ï°áµÇ°Å³ª ·Ñ¹éµË´Ï´Ù.

commit ¸Þ¼Òµå´Â SQL ¹®ÀÌ µ¥ÀÌÅͺ£À̽º¿¡ º¯°æÇÑ ³»¿ëÀ» ¿µ±¸ÀûÀ¸·Î ¹Ý¿µÇÏ¸ç Æ®·£Àè¼Ç¿¡¼­ ¼³Á¤ÇÑ Àá±ÝÀ» ÇØÁ¦ÇÕ´Ï´Ù. rollback ¸Þ¼Òµå´Â ÀÌ·¯ÇÑ º¯°æ »çÇ×À» ¹«½ÃÇÕ´Ï´Ù.

ÇÑ Æ®·£Àè¼Ç¿¡ µÎ °³ÀÇ ¾÷µ¥ÀÌÆ®°¡ ÀÖ´Â °æ¿ì µÎ ¹øÂ° ¾÷µ¥ÀÌÆ®µµ ÇÔ²² º¯°æµÇÁö ¾Ê´Â´Ù¸é ÇÑ ¾÷µ¥ÀÌÆ®¿¡ ´ëÇØ¼­¸¸ º¯°æ »çÇ×À» Àû¿ëÇÏ°í ½ÍÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ÇÏ·Á¸é auto-commitÀ» ºñȰ¼ºÈ­ÇÏ°í µÎ ¾÷µ¥ÀÌÆ®¸¦ ÇÑ Æ®·£Àè¼ÇÀ¸·Î ±×·ìÈ­ÇÏ¸é µË´Ï´Ù. µÎ °¡Áö ¾÷µ¥ÀÌÆ®°¡ ¸ðµÎ ¼º°øÇÑ °æ¿ì commit ¸Þ¼Òµå°¡ È£ÃâµÇ¾î µÎ °¡Áö ¾÷µ¥ÀÌÆ®°¡ ¸ðµÎ ¿µ±¸ÀûÀ¸·Î ¹Ý¿µµË´Ï´Ù. ÇÑ ¾÷µ¥ÀÌÆ®³ª µÎ °¡Áö ¾÷µ¥ÀÌÆ®°¡ ¸ðµÎ ½ÇÆÐÇϸé rollback ¸Þ¼Òµå°¡ È£ÃâµÇ¾î ¾÷µ¥ÀÌÆ®°¡ ½ÇÇàµÇ±â ÀÌÀüÀÇ °ªÀ» º¹±¸ÇÕ´Ï´Ù. ´ëºÎºÐÀÇ JDBC µå¶óÀ̹ö´Â Æ®·£Àè¼ÇÀ» Áö¿øÇÕ´Ï´Ù.

javax.sql ÆÐŰÁöÀÇ Å¬·¡½º¿Í ÀÎÅÍÆäÀ̽º´Â ¿¬°á °´Ã¼°¡ ºÐ»ê Æ®·£Àè¼Ç(µÎ °³ ÀÌ»óÀÇ DBMS ¼­¹ö¿¡ ´ëÇÑ ¿¬°á°ú °ü·ÃµÈ Æ®·£Àè¼Ç)ÀÇ ÀϺΰ¡ µÉ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù. ºÐ»ê Æ®·£Àè¼Ç¿¡ Âü¿©ÇÏ·Á¸é Áß°£ °èÃþ ¼­¹öÀÇ ºÐ»ê Æ®·£Àè¼Ç ÀÎÇÁ¶ó¿Í ÀÛ¾÷ÇÒ ¼ö ÀÖµµ·Ï ±¸ÇöµÈ DataSource °´Ã¼°¡ ¿¬°á °´Ã¼¸¦ ¸¸µé¾î¾ß ÇÕ´Ï´Ù. DriverManager°¡ ¸¸µç ¿¬°á °´Ã¼¿Í´Â ´Þ¸® DataSource °´Ã¼°¡ ¸¸µç ¿¬°á °´Ã¼´Â ±âº»ÀûÀ¸·Î auto-commit ¸ðµå°¡ ºñȰ¼ºÈ­µÇ¾î ÀÖ½À´Ï´Ù. ¹Ý¸é DataSource °´Ã¼ÀÇ Ç¥ÁØ ±¸ÇöÀº DriverManager Ŭ·¡½º°¡ ¸¸µå´Â °Í°ú ¶È°°Àº ¿¬°á °´Ã¼¸¦ ¸¸µì´Ï´Ù.

¿¬°á °´Ã¼°¡ ºÐ»ê Æ®·£Àè¼ÇÀÇ ÀϺÎÀÎ °æ¿ì Æ®·£Àè¼Ç °ü¸®ÀÚ´Â commit ¶Ç´Â rollback ¸Þ¼Òµå°¡ È£ÃâµÈ ½ÃÁ¡À» È®ÀÎÇÕ´Ï´Ù. µû¶ó¼­ ¿¬°á °´Ã¼°¡ ºÐ»ê Æ®·£Àè¼Ç¿¡ Âü¿©Çϰí ÀÖ´Â °æ¿ì ÀÀ¿ë ÇÁ·Î±×·¥Àº Connection.commitÀ̳ª Connection.rollback ¸Þ¼Òµå¸¦ È£ÃâÇϰųª ¿¬°áÀÇ auto-commit ¸ðµå¸¦ ¼³Á¤ÇÏ´Â µî ¿¬°áÀÌ ½ÃÀ۵ǰųª ³¡³ª´Â ½Ã±â¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â ÀÛ¾÷À» ÇÏ¸é ¾È µË´Ï´Ù. ÀÌ·¯ÇÑ ÀÛ¾÷Àº Æ®·£Àè¼Ç °ü¸®ÀÚ°¡ ºÐ»ê Æ®·£Àè¼ÇÀ» ó¸®ÇÏ´Â µ¥ ¹æÇذ¡ µË´Ï´Ù.


JavaMail ÀÚ¿ø Á¤º¸

JavaMail API¸¦ »ç¿ëÇÏ¸é ¸Þ½ÃÁö ÀúÀå¼Ò¿¡ Æ÷ÇÔµÈ ÀüÀÚ ¸ÞÀÏ ¸Þ½ÃÁö¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖÀ¸¸ç ¸Þ½ÃÁö Àü¼ÛÀ» »ç¿ëÇÏ¿© ÀüÀÚ ¸ÞÀÏ ¸Þ½ÃÁö¸¦ ¸¸µé°í Àü¼ÛÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÎÅÍ³Ý Ç¥ÁØ MIME ¸Þ½ÃÁö¿¡ ´ëÇÑ Áö¿ø ±â´Éµµ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ¸Þ½ÃÁö ÀúÀå¼Ò¿Í Àü¼Û¿¡ ´ëÇÑ ¾×¼¼½º´Â ƯÁ¤ ÀúÀå¼Ò¿Í Àü¼Û ÇÁ·ÎÅäÄÝÀ» Áö¿øÇÏ´Â ÇÁ·ÎÅäÄÝ °ø±ÞÀÚ¸¦ ÅëÇØ ÀÌ·ç¾îÁý´Ï´Ù. JavaMail API »ç¾ç¿¡¼­´Â ƯÁ¤ ÇÁ·ÎÅäÄÝ °ø±ÞÀÚ¸¦ ¿ä±¸ÇÏÁö´Â ¾ÊÁö¸¸ JavaMail¿¡´Â IMAP ¸Þ½ÃÁö ÀúÀå¼Ò °ø±ÞÀÚ¿Í SMTP ¸Þ½ÃÁö Àü¼Û °ø±ÞÀÚ°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

JavaMail API´Â ¸ÞÀÏ ½Ã½ºÅÛÀ» ±¸¼ºÇÏ´Â °´Ã¼¸¦ Á¤ÀÇÇÏ´Â Ãß»ó Ŭ·¡½º ÁýÇÕÀ» Á¦°øÇÕ´Ï´Ù. API´Â ¸Þ½ÃÁö, ÀúÀå¼Ò, Àü¼Û µî°ú °°Àº Ŭ·¡½º¸¦ Á¤ÀÇÇÕ´Ï´Ù. »õ ÇÁ·ÎÅäÄÝÀ» Á¦°øÇϰí ÇÊ¿äÇÑ °æ¿ì ±â´ÉÀ» Ãß°¡Çϱâ À§ÇØ API¸¦ È®ÀåÇϰí ÇÏÀ§ Ŭ·¡½º·Î ³ª´­ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ API´Â Ãß»ó Ŭ·¡½ºÀÇ ±¸Ã¼ÀûÀÎ ÇÏÀ§ Ŭ·¡½º¸¦ Á¦°øÇÕ´Ï´Ù. MimeMessage¿Í MimeBodyPart °°Àº ÇÏÀ§ Ŭ·¡½º´Â ³Î¸® »ç¿ëµÇ´Â ÀÎÅÍ³Ý ¸ÞÀÏ ÇÁ·ÎÅäÄÝÀ» ±¸ÇöÇÕ´Ï´Ù.

JavaMail API´Â IMAP, MAPI, CMC, c-client ¹× ±âŸ ÀüÀÚ ¸ÞÀÏ ¸Þ½Ã¡ ½Ã½ºÅÛ API¿Í ¸¹Àº »óÈ£ ÀÛ¿ëÀ» ÇÕ´Ï´Ù. JavaMail API´Â ´Ù¾çÇÑ ¸Þ½ÃÁö ÀúÀå¼Ò¿Í ´Ù¾çÇÑ ¸Þ½ÃÁö Çü½Ä ¹× ´Ù¾çÇÑ ¸Þ½ÃÁö Àü¼Û °°Àº ¿©·¯ ¸Þ½Ã¡ ½Ã½ºÅÛ ±¸ÇöÀ» Áö¿øÇÕ´Ï´Ù. JavaMail API´Â Ŭ¶óÀÌ¾ðÆ® ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ API¸¦ Á¤ÀÇÇÏ´Â ±âº» Ŭ·¡½º¿Í ÀÎÅÍÆäÀ̽º ÁýÇÕÀ» Á¦°øÇÕ´Ï´Ù. °³¹ßÀÚ´Â IMAP, POP3, SMTP °°Àº ƯÁ¤ ¸Þ½Ã¡ ½Ã½ºÅÛ ±¸ÇöÀ» À§ÇØ JavaMail Ŭ·¡½º¸¦ ÇÏÀ§ Ŭ·¡½º·Î ³ª´­ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ Àý¿¡¼­´Â ´ÙÀ½ Ç׸ñ¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.

JavaMail ¸Þ½ÃÁö ó¸® °úÁ¤ Á¤º¸

JavaMail API´Â ÀÏ¹Ý Å¬¶óÀÌ¾ðÆ® ÀÀ¿ë ÇÁ·Î±×·¥À» À§ÇÑ Ç¥ÁØ ¸ÞÀÏ Ã³¸® °úÁ¤À» ±¸¼ºÇÏ´Â ´ÙÀ½ ±â´ÉÀ» ¼öÇàÇÕ´Ï´Ù.

´ÙÀ½ ±×¸²Àº JavaMail API°¡ ¸Þ½ÃÁö¸¦ ó¸®ÇÏ´Â °úÁ¤À» º¸¿©ÁÝ´Ï´Ù.

±×¸² 10-8

JavaMail API¿¡¼­ ¸Þ½ÃÁö¸¦ ó¸®ÇÏ´Â °úÁ¤À» º¸¿©ÁÖ´Â ±×¸²ÀÔ´Ï´Ù.

JavaMail APIÀÇ ¸Þ½ÃÁö ó¸® °úÁ¤

JavaMail API´Â javax.mail.SessionÀ» ¸¸µå´Â Á¤Àû ÆÑÅ丮 ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© ±¸¼ºµÇ¾ú½À´Ï´Ù. Sun ONE Application Server´Â JNDI¸¦ »ç¿ëÇÏ¿© ¼¼¼Ç °´Ã¼¸¦ ¿äûÇϰí resource-ref ¿ä¼Ò¸¦ »ç¿ëÇÏ¿© ¹èÆ÷ ¼³¸íÀÚ¿¡ ¼¼¼Ç °´Ã¼¿¡ ´ëÇÑ ¿äûÀ» ³ª¿­ÇÕ´Ï´Ù. JavaMail API ¼¼¼Ç °´Ã¼´Â ÀÚ¿ø ÆÑÅ丮·Î °£Áֵ˴ϴÙ.

¸Þ½ÃÁö Àü¼ÛÀº javax.mail.internet.InternetAddress À¯ÇüÀÇ ÁÖ¼Ò¿Í javax.mail.internet.MimeMessage À¯ÇüÀÇ ¸Þ½ÃÁö¸¦ ó¸®ÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù. javax.mail.Transport Ŭ·¡½ºÀÇ send ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© ÀÌ·¯ÇÑ ¸Þ½ÃÁö¸¦ Àü¼ÛÇÒ ¼ö ÀÖµµ·Ï ±âº» ¸Þ½ÃÁö Àü¼ÛÀ» ¿Ã¹Ù¸£°Ô ±¸¼ºÇØ¾ß ÇÕ´Ï´Ù.

JavaMail APIÀÇ Ãß»ó °èÃþÀº ¸ðµç ¸ÞÀÏ ½Ã½ºÅÛÀÌ Áö¿øÇÏ´Â ¸ÞÀÏ Ã³¸® ±â´ÉÀ» Áö¿øÇϱâ À§ÇØ Å¬·¡½º, ÀÎÅÍÆäÀ̽º ¹× Ãß»ó ¸Þ¼Òµå¸¦ ¼±¾ðÇÕ´Ï´Ù. Ãß»ó °èÃþÀ» ±¸¼ºÇÏ´Â API ¿ä¼Ò´Â Ç¥ÁØ µ¥ÀÌÅÍ À¯ÇüÀ» Áö¿øÇϰí ÇÊ¿äÇÑ °æ¿ì ¸Þ½ÃÁö ¾×¼¼½º¿Í ¸Þ½ÃÁö Àü¼Û ÇÁ·ÎÅäÄݰú »óÈ£ ÀÛ¿ëÇϱâ À§ÇØ ÇÏÀ§ Ŭ·¡½º·Î ³ª´µ°í È®ÀåµÇµµ·Ï ¼³°èµÇ¾ú½À´Ï´Ù.

ÀÎÅÍ³Ý ±¸Çö °èÃþÀº ÀÎÅÍ³Ý Ç¥ÁØ - RFC822¿Í MIMEÀ» »ç¿ëÇÏ¿© Ãß»ó °èÃþÀÇ ÀϺθ¦ ±¸ÇöÇÕ´Ï´Ù.

JavaMailÀÇ ±¸Á¶Àû ±¸¼º ¿ä¼Ò Á¤º¸

ÀÌ Àý¿¡¼­´Â ´ÙÀ½ Ç׸ñÀ» ÅëÇØ JavaMail ±¸Á¶¸¦ ±¸¼ºÇÏ´Â ÁÖ¿ä ±¸¼º ¿ä¼Ò¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.

¸Þ½ÃÁö Ŭ·¡½º

¸Þ½ÃÁö Ŭ·¡½º´Â ¸ÞÀÏ ¸Þ½ÃÁö ³»¿ë°ú ¼Ó¼º ÁýÇÕÀ» Á¤ÀÇÇÏ´Â Ãß»ó Ŭ·¡½ºÀÔ´Ï´Ù. ¸Þ½ÃÁö Ŭ·¡½ºÀÇ ¼Ó¼ºÀº ÁÖ¼Ò ÁöÁ¤ Á¤º¸¸¦ ÁöÁ¤ÇÏ°í ³»¿ë À¯ÇüÀ» ºñ·ÔÇÑ ³»¿ë ±¸Á¶¸¦ Á¤ÀÇÇÕ´Ï´Ù. ³»¿ëÀº ½ÇÁ¦ µ¥ÀÌÅ͸¦ µÑ·¯½Î´Â DataHandler °´Ã¼·Î Ç¥ÇöµË´Ï´Ù.

¸Þ½ÃÁö Ŭ·¡½º´Â Part ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÕ´Ï´Ù. Part ÀÎÅÍÆäÀ̽º´Â ¸Þ½ÃÁö °´Ã¼°¡ Àü´ÞÇÏ´Â µ¥ÀÌÅÍ ³»¿ëÀ» Á¤ÀÇÇϰí Çü½ÄÀ» ÁöÁ¤ÇÏ¸ç ¸ÞÀÏ ½Ã½ºÅÛ°ú ¼º°øÀûÀ¸·Î ÀÎÅÍÆäÀ̽ºÇÏ´Â µ¥ ÇÊ¿äÇÑ ¼Ó¼ºÀ» Á¤ÀÇÇÕ´Ï´Ù. ¸Þ½ÃÁö Ŭ·¡½º´Â ¸Þ½ÃÁö Àü¼Û ½Ã½ºÅÛÀ» ÅëÇØ ¸Þ½ÃÁö¸¦ ¶ó¿ìÆÃÇÒ ¶§ ÇÊ¿äÇÑ º¸³½ »ç¶÷, ¹Þ´Â »ç¶÷, Á¦¸ñ, ȸ½Å ¹× ±âŸ ¼Ó¼ºÀ» Ãß°¡ÇÕ´Ï´Ù. ¸Þ½ÃÁö °´Ã¼°¡ Æú´õ¿¡ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì ÇØ´ç °´Ã¼´Â ÀڽŰú °ü·ÃµÈ ÀÏ·ÃÀÇ Å±׸¦ °®½À´Ï´Ù. JavaMailÀº ƯÁ¤ ¸Þ½Ã¡ ±¸ÇöÀ» Áö¿øÇÏ´Â ¸Þ½ÃÁö ÇÏÀ§ Ŭ·¡½º¸¦ Á¦°øÇÕ´Ï´Ù.

¸Þ½ÃÁö ³»¿ëÀº ¸Þ½ÃÁö °´Ã¼ ³»¿¡ ĸ½¶È­µÈ ¹ÙÀÌÆ® ¸ðÀ½À̰ųª ¹ÙÀÌÆ® ¸ðÀ½¿¡ ´ëÇÑ ÂüÁ¶ÀÔ´Ï´Ù. JavaMailÀº ¸Þ½ÃÁö ³»¿ëÀÇ µ¥ÀÌÅÍ À¯ÇüÀ̳ª Çü½ÄÀ» ¾ËÁö ¸øÇÕ´Ï´Ù. ¸Þ½ÃÁö °´Ã¼´Â Áß°£ °èÃþ - JAF(JavaBeans Activation Framework)¸¦ ÅëÇØ ÇØ´ç ³»¿ë°ú »óÈ£ ÀÛ¿ëÇÕ´Ï´Ù. ÀÌ·¸°Ô ºÐ¸®µÇ¾î Àֱ⠶§¹®¿¡ ¸Þ½ÃÁö °´Ã¼´Â ÀÓÀÇÀÇ ³»¿ëÀ» ó¸®ÇÑ ´ÙÀ½ °°Àº API ¸Þ¼Òµå¸¦ È£ÃâÇϰí ÀûÀýÇÑ Àü¼Û ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏ¿© ³»¿ëÀ» Àü¼ÛÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸Þ½ÃÁö ¹Þ´Â »ç¶÷Àº ÀϹÝÀûÀ¸·Î ÇØ´ç ³»¿ëÀÇ µ¥ÀÌÅÍ À¯Çü ¹× Çü½Ä°ú ±× ó¸® ¹æ¹ýÀ» ¾Ë°í ÀÖ½À´Ï´Ù.

¶ÇÇÑ JavaMail API´Â °¢ Bodypart°¡ ÀÚ½ÅÀÇ °íÀ¯ ¼Ó¼º ¹× ³»¿ë ÁýÇÕÀ» Á¤ÀÇÇÏ´Â multipart ¸Þ½ÃÁö °´Ã¼¸¦ Áö¿øÇÕ´Ï´Ù.

¸Þ½ÃÁö ÀúÀå ¹× °Ë»ö

¸Þ½ÃÁö´Â Æú´õ °´Ã¼¿¡ ÀúÀåµË´Ï´Ù. Æú´õ °´Ã¼´Â ¸Þ½ÃÁö¿Í ÇÏÀ§ Æú´õ¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖÀ¸¹Ç·Î Æ®¸®Çü Æú´õ °èÃþÀ» Á¦°øÇÕ´Ï´Ù. Æú´õ Ŭ·¡½º´Â ¸Þ½ÃÁö¸¦ ºÒ·¯¿À°í Ãß°¡ÇÏ¸ç º¹»çÇÏ°í »èÁ¦ÇÏ´Â ¸Þ¼Òµå¸¦ ¼±¾ðÇÕ´Ï´Ù. ¶ÇÇÑ Æú´õ °´Ã¼´Â Event Listener·Î µî·ÏµÈ ±¸¼º ¿ä¼Ò·Î À̺¥Æ®¸¦ º¸³¾ ¼ö ÀÖ½À´Ï´Ù.

ÀúÀå¼Ò Ŭ·¡½º

ÀúÀå¼Ò Ŭ·¡½º´Â ¸Þ½ÃÁö¿Í ÇÔ²² Æú´õ °èÃþÀ» º¸°üÇÏ´Â µ¥ÀÌÅͺ£À̽º¸¦ Á¤ÀÇÇÕ´Ï´Ù. ¶ÇÇÑ ÀúÀå¼Ò Ŭ·¡½º´Â Æú´õ¿¡ ¾×¼¼½ºÇÏ¿© Æú´õ¿¡ ÀúÀåµÈ ¸Þ½ÃÁö¸¦ °Ë»öÇÏ´Â ¾×¼¼½º ÇÁ·ÎÅäÄÝÀ» ÁöÁ¤ÇÕ´Ï´Ù. ¶ÇÇÑ Æú´õ¸¦ ºÒ·¯¿À°í ¿¬°áÀ» ´Ý±â À§ÇØ µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ ¿¬°áÀ» ¼³Á¤ÇÏ´Â ¸Þ¼Òµå¸¦ Á¦°øÇÕ´Ï´Ù. ¸Þ½ÃÁö ¾×¼¼½º ÇÁ·ÎÅäÄÝ(IMAP, POP3 µî)À» ±¸ÇöÇÏ´Â ¼­ºñ½º °ø±ÞÀÚ´Â ÀúÀå¼Ò Ŭ·¡½º¸¦ ÇÏÀ§ Ŭ·¡½º·Î ³ª´©´Â ÀÛ¾÷ºÎÅÍ ½ÃÀÛÇÕ´Ï´Ù. »ç¿ëÀÚ´Â ÀϹÝÀûÀ¸·Î ƯÁ¤ ÀúÀå¼Ò ±¸Çö¿¡ ¿¬°áÇÏ¿© ¸ÞÀÏ ½Ã½ºÅÛ°úÀÇ ¼¼¼ÇÀ» ½ÃÀÛÇÕ´Ï´Ù.

¸Þ½ÃÁö ÀÛ¼º ¹× Àü¼Û

Ŭ¶óÀÌ¾ðÆ®´Â ÀûÀýÇÑ ¸Þ½ÃÁö ÇÏÀ§ Ŭ·¡½º¸¦ ÀνºÅϽºÈ­ÇÏ¿© »õ ¸Þ½ÃÁö¸¦ ¸¸µì´Ï´Ù. ¹Þ´Â »ç¶÷ ÁÖ¼Ò¿Í Á¦¸ñ °°Àº ¼Ó¼ºÀ» ¼³Á¤ÇÏ°í ³»¿ëÀ» ¸Þ½ÃÁö °´Ã¼¿¡ »ðÀÔÇÕ´Ï´Ù. ¸¶Áö¸·À¸·Î Transport.send ¸Þ¼Òµå¸¦ È£ÃâÇÏ¿© ¸Þ½ÃÁö¸¦ º¸³À´Ï´Ù. Àü¼Û Ŭ·¡½º´Â ¸Þ½ÃÁö¸¦ ´ë»ó ÁÖ¼Ò·Î ¶ó¿ìÆÃÇÏ´Â Àü¼Û ¿¡ÀÌÀüÆ®¸¦ ¸ðµ¨È­ÇÕ´Ï´Ù. ÀÌ Å¬·¡½º´Â ¸Þ½ÃÁö¸¦ ¹Þ´Â »ç¶÷ ¸ñ·ÏÀ¸·Î º¸³»´Â ¸Þ¼Òµå¸¦ Á¦°øÇÕ´Ï´Ù. ¸Þ½ÃÁö °´Ã¼¿Í ÇÔ²² Transport.send ¸Þ¼Òµå¸¦ È£ÃâÇÏ¸é ´ë»ó ÁÖ¼Ò¿¡ µû¶ó ÀûÀýÇÑ Àü¼Û ¹æ¹ýÀ» ½Äº°ÇÕ´Ï´Ù.

¼¼¼Ç Ŭ·¡½º

¼¼¼Ç Ŭ·¡½º´Â ¸ÞÀÏ È°¼º Ŭ¶óÀÌ¾ðÆ®¿Í ³×Æ®¿öÅ© »çÀÌÀÇ ÀÎÅÍÆäÀ̽º¸¦ Á¤ÀÇÇÏ´Â Àü¿ª ¹× »ç¿ëÀÚº° ¸ÞÀÏ °ü·Ã µî·Ï Á¤º¸¸¦ Á¤ÀÇÇÕ´Ï´Ù.

JavaMail ½Ã½ºÅÛÀº ¼¼¼Ç °´Ã¼¸¦ »ç¿ëÇÏ¿© ƯÁ¤ µî·Ï Á¤º¸¸¦ ¼³Á¤ÇÏ°í ¾ò½À´Ï´Ù. ¶ÇÇÑ ¼¼¼Ç Ŭ·¡½º´Â µ¥½ºÅ©Å¾ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ °øÀ¯ÇÒ ¼ö ÀÖ´Â ±âº» ÀÎÁõ ¼¼¼Ç °´Ã¼¸¦ Á¦°øÇÕ´Ï´Ù. ¼¼¼Ç Ŭ·¡½º´Â ±¸Ã¼ÀûÀÎ ¸¶Áö¸· Ŭ·¡½ºÀ̸ç ÇÏÀ§ Ŭ·¡½º·Î ³ª´­ ¼ö ¾ø½À´Ï´Ù. ¼¼¼Ç Ŭ·¡½º´Â ¶ÇÇÑ Æ¯Á¤ ¾×¼¼½º ¹× Àü¼Û ÇÁ·ÎÅäÄÝÀ» ±¸ÇöÇÏ´Â ÀúÀå¼Ò ¹× Àü¼Û °´Ã¼¿¡ ´ëÇÑ ÆÑÅ丮 ¿ªÇÒÀ» ÇÕ´Ï´Ù. ¼¼¼Ç °´Ã¼¿¡ ´ëÇØ ÀûÀýÇÑ ÆÑÅ丮 ¸Þ¼Òµå¸¦ È£ÃâÇϸé Ŭ¶óÀÌ¾ðÆ®´Â Æ¯Á¤ ÇÁ·ÎÅäÄÝÀ» Áö¿øÇÏ´Â ÀúÀå¼Ò ¹× Àü¼Û °´Ã¼¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.

JAF (JavaBeans Activation Framework) Á¤º¸

JavaMailÀº ¸Þ½ÃÁö µ¥ÀÌÅ͸¦ ĸ½¶È­Çϰí ÀÌ µ¥ÀÌÅÍ¿Í »óÈ£ ÀÛ¿ëÇÒ ¸í·ÉÀ» ó¸®Çϱâ À§ÇØ JAF (JavaBeans Activation Framework)¸¦ »ç¿ëÇÕ´Ï´Ù. ¸Þ½ÃÁö¿ÍÀÇ »óÈ£ ÀÛ¿ëÀº JavaMail API°¡ Á¦°øÇÏÁö ¾Ê´Â JAF ÀÎ½Ä JavaBeans¸¦ ÅëÇØ ÀÌ·ç¾îÁ®¾ß ÇÕ´Ï´Ù.

JavaBeans Activation Framework Ç¥ÁØ È®ÀåÀ» ÅëÇØ Java ±â¼úÀ» »ç¿ëÇÏ´Â °³¹ßÀڴ ǥÁØ ¼­ºñ½º¸¦ ÀÌ¿ëÇÏ¿© ÀÓÀÇ µ¥ÀÌÅÍ ºÎºÐÀÇ À¯ÇüÀ» °áÁ¤Çϰí ÀÌ¿¡ ´ëÇÑ ¾×¼¼½º¸¦ ĸ½¶È­ÇÏ¿© »ç¿ë °¡´ÉÇÑ ÀÛ¾÷À» ¾Ë¾Æ³»¸ç ÀÌ·¯ÇÑ ÀÛ¾÷À» ¼öÇàÇϱâ À§ÇØ ÀûÀýÇÑ BeanÀ» ÀνºÅϽºÈ­ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ºê¶ó¿ìÀú¿¡¼­ JPEG À̹ÌÁö¸¦ °¡Á®¿Â °æ¿ì ÀÌ ÇÁ·¹ÀÓ¿öÅ©´Â ºê¶ó¿ìÀú°¡ ÇØ´ç µ¥ÀÌÅÍ ½ºÆ®¸²À» ÇØ´ç À¯ÇüÀÇ JPEG À̹ÌÁö·Î ½Äº°ÇÒ ¼ö ÀÖ°Ô ÇØÁÖ¸ç ºê¶ó¿ìÀú´Â ±× À̹ÌÁö¸¦ Á¶ÀÛÇϰųª º¼ ¼ö ÀÖ´Â °´Ã¼¸¦ ã¾Æ ÀνºÅϽºÈ­ÇÒ ¼ö ÀÖ½À´Ï´Ù.

JavaBeans Activation Framework API´Â ´Ù¾çÇÑ MIME µ¥ÀÌÅÍ À¯ÇüÀ» Áö¿øÇÕ´Ï´Ù. JavaMail API´Â ´ÙÀ½ Ç¥¿¡¼­ ¼³¸íÇÏ´Â Java ÇÁ·Î±×·¡¹Ö ¾ð¾î À¯Çü¿¡ ÇØ´çÇÏ´Â ´ÙÀ½ MIME µ¥ÀÌÅÍ À¯Çü¿¡ ´ëÇÑ javax.activation.DataContentHandlers¸¦ Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.

Ç¥ 10-7 JavaMail API MIME µ¥ÀÌÅÍ À¯Çü ´ë Java À¯Çü ¸ÅÇÎ

MIME À¯Çü

Java À¯Çü

Text/Plain

java.lang.String

Multipart/

javax.mail.internet.MIME.Multipart

Message/rfc822

javax.mail.internet.MIME.Message

JavaBeans Activation Framework´Â MIME µ¥ÀÌÅÍ À¯Çü¿¡ ´ëÇÑ Áö¿øÀ» Java Ç÷§Æû¿¡ ÅëÇÕÇÕ´Ï´Ù. MIME ¹ÙÀÌÆ® ½ºÆ®¸²Àº javax.activation.DataContentHandlerobjects¸¦ »ç¿ëÇÏ¿© Java ÇÁ·Î±×·¡¹Ö ¾ð¾î °´Ã¼¿Í »óÈ£ º¯È¯ÇÒ ¼ö ÀÖ½À´Ï´Ù. JavaBeans ±¸¼º ¿ä¼Ò¿¡ ´ëÇØ µ¥ÀÌÅÍ º¸±â³ª ÆíÁý °°Àº MIME µ¥ÀÌÅÍ¿¡ ´ëÇÑ ÀÛ¾÷À» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ JavaBeans Activation Framework´Â ÆÄÀÏ À̸§ È®ÀåÀÚ¸¦ MIME À¯Çü¿¡ ¸ÅÇÎÇÒ ¼ö ÀÖ´Â ¸ÞÄ¿´ÏÁòÀ» Á¦°øÇÕ´Ï´Ù. JavaMail API´Â JavaBeans Activation Framework¸¦ »ç¿ëÇÏ¿© ÀüÀÚ ¸ÞÀÏ ¸Þ½ÃÁö¿¡ Æ÷ÇÔµÈ µ¥ÀÌÅ͸¦ ó¸®ÇÕ´Ï´Ù. ÀüÀÚ ¸ÞÀÏÀ» º¹ÀâÇÏ°Ô »ç¿ëÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ °æ¿ì JavaBeans Activation Framework¸¦ Á÷Á¢ »ç¿ëÇØ¾ß ÇÒ ¼öµµ ÀÖÁö¸¸ ÀÏ¹Ý J2EE ÀÀ¿ë ÇÁ·Î±×·¥Àº JavaBeans Activation Framework¸¦ Á÷Á¢ »ç¿ëÇÒ Çʿ䰡 ¾ø½À´Ï´Ù.

JavaMail ±¸¼º ¸Å°³ º¯¼ö Á¤º¸

´ÙÀ½ ±¸¼º ¸Å°³ º¯¼ö´Â Sun ONE Application ServerÀÇ JavaMail ÀÚ¿ø¿¡¼­ »ç¿ëµË´Ï´Ù. ÀÌ·¯ÇÑ ±¸¼º ¸Å°³ º¯¼ö´Â À̸§, °ª ½ÖÀ¸·Î ÀÌ·ç¾îÁö¸ç server.xml ÆÄÀÏÀÇ mail-resource ¿ä¼Ò¿¡¼­ ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù.

JavaMail ¼¼¼Ç ÂüÁ¶¿ë J2EE ¹èÆ÷ ¼³¸íÀÚ

JavaMail ÀÚ¿øÀ» ¼­¹ö¿¡ µî·ÏÇϸé JNDI Á¶È¸¸¦ »ç¿ëÇÏ¿© ¸ðµç J2EE ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò¿¡¼­ ÇØ´ç ÀÚ¿øÀ» ÂüÁ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¿ø °ü¸®ÀÚ ¿¬°á ÆÑÅ丮¸¦ ÂüÁ¶ÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥À» ¹èÆ÷ÇÏ·Á¸é ±¸¼º ¿ä¼Ò °ø±ÞÀÚ°¡ Ç¥ÁØ J2EE 1.3 ¹èÆ÷ ¼³¸íÀÚ¿¡¼­ ¸ðµç ÀÚ¿ø °ü¸®ÀÚ ¿¬°á ÆÑÅ丮 ÂüÁ¶¸¦ ¼±¾ðÇØ¾ß ÇÕ´Ï´Ù.

JavaMail ÂüÁ¶¿¡ ÇÊ¿äÇÑ ¸ðµç J2EE1.3 ¼³¸íÀÚ ¿ä¼Ò¸¦ ¾Æ·¡¿¡¼­ ¼³¸íÇÕ´Ï´Ù.

<resource-ref>

<description>

¸ÞÀÏÀ» º¸³»´Â µ¥ »ç¿ëÇÑ JavaMail ÀÚ¿ø

</description>

<res-ref-name>mail/MyMailSession</res-ref-name>

<res-type>javax.mail.Session</res-type>

<res-auth>Container</res-auth>

<res-sharing-scope>Shareable</res-sharing-scope>

</resource-ref>

Sun ONE Application Server ¹èÆ÷ ¼³¸íÀÚÀÇ Ç׸ñ

¸ÞÀÏ ÀÚ¿øÀ» ÂüÁ¶ÇÏ´Â ¹èÆ÷µÈ °¢ ±¸¼º ¿ä¼Ò¿¡ ´ëÇØ ¹èÆ÷ÀÚ´Â ±¸¼º ¿ä¼Ò¿¡¼­ »ç¿ëµÇ´Â ÀÚ¿ø À̸§À» µ¥ÀÌÅÍ ¼Ò½º°¡ À̸§ ÁöÁ¤ ¼­ºñ½º¿¡ µî·ÏÇÑ ½ÇÁ¦ jndi À̸§¿¡ ¸ÅÇÎÇØ¾ß ÇÕ´Ï´Ù. ¹èÆ÷ µµ±¸´Â ¹èÆ÷ÀÚ°¡ ÀÌ ¸ÅÇÎÀ» ½±°Ô ÇÒ ¼ö ÀÖµµ·Ï µµ¿òÀ» ÁÖ¾î¾ß ÇÕ´Ï´Ù. ÀÌ ¸ÅÇÎÀº Sun ONE Application Server °ü·Ã xml¿¡ µî·ÏµÇ¾î ÀÖ½À´Ï´Ù. ¸ÅÇÎÀ» Æ÷ÇÔÇÏ´Â Sun ONE Application ServerÀÇ Æ¯Á¤ XML ´ÜÆíÀÌ ¾Æ·¡¿¡ ³ª¿Í ÀÖ½À´Ï´Ù.

<resource-ref>

<res-ref-name>mail/MyMailSession</res-ref-name>

<jndi-name>mail/Session</jndi-name>

</resource-ref>

»õ JavaMail ¼¼¼Ç ¸¸µé±â

°ü¸® ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© JavaMail ¼¼¼ÇÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. »õ JavaMail ¼¼¼ÇÀ» ¸¸µé°í ±¸¼ºÇÏ·Á¸é ´ÙÀ½ ÀÛ¾÷À» ¼öÇàÇÕ´Ï´Ù.

  1. °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ ¿ÞÂÊ Ã¢¿¡¼­ »õ JavaMail ¼¼¼ÇÀ» ¸¸µé Sun ONE Application Server ÀνºÅϽº¸¦ È®ÀåÇÕ´Ï´Ù.
  2. "JavaMail ¼¼¼Ç"À» ´©¸¨´Ï´Ù. °ü¸® ÀÎÅÍÆäÀ̽º ¿À¸¥ÂÊ Ã¢ÀÇ "JavaMail ¼¼¼Ç ±¸¼º" ±×¸²¿¡ Ç¥½ÃµÈ ´ÙÀ½ âÀÌ ³ªÅ¸³³´Ï´Ù.

±×¸² 10-9 JavaMail ¼¼¼Ç ±¸¼º

JavaMail ¼¼¼ÇÀÌ ¾î¶»°Ô ±¸¼ºµÇ¾î ÀÖ´ÂÁö¸¦ º¸¿©ÁÖ´Â ±×¸²ÀÔ´Ï´Ù.

  1. ¸¸µé°í ÀÖ´Â JavaMail ¼¼¼Ç¿¡ ´ëÇÑ JNDI À̸§À» "JNDI À̸§" ÅØ½ºÆ® Çʵ忡 ÀÔ·ÂÇÕ´Ï´Ù. JavaMail ÀÚ¿øÀ» ¼­¹ö¿¡ µî·ÏÇϸé JNDI Á¶È¸¸¦ »ç¿ëÇÏ¿© ¸ðµç J2EE ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò¿¡¼­ ÇØ´ç ÀÚ¿øÀ» ÂüÁ¶ÇÒ ¼ö ÀÖ½À´Ï´Ù.
  2. ±âº» ¸ÞÀÏ ¼­¹öÀÇ DNS À̸§À» "¸ÞÀÏ È£½ºÆ®" ÅØ½ºÆ® Çʵ忡 ÁöÁ¤ÇÕ´Ï´Ù. ÇÁ·ÎÅäÄÝ °ü·Ã È£½ºÆ® µî·Ï Á¤º¸°¡ ¾ø´Â °æ¿ì ÀúÀå¼Ò ¹× Àü¼Û °´Ã¼ÀÇ ¿¬°á ¸Þ¼Òµå´Â ÀÌ µî·Ï Á¤º¸¸¦ »ç¿ëÇÏ¿© ´ë»ó È£½ºÆ®¸¦ ã½À´Ï´Ù.
  3. ¸ÞÀÏ ¼­¹ö¿¡ ¿¬°áÇÒ ¶§ Á¦°øÇÒ »ç¿ëÀÚ À̸§À» "±âº» »ç¿ëÀÚ" ÅØ½ºÆ® Çʵ忡 ÁöÁ¤ÇÕ´Ï´Ù. ÇÁ·ÎÅäÄÝ °ü·Ã »ç¿ëÀÚ À̸§ µî·Ï Á¤º¸°¡ ¾ø´Â °æ¿ì ÀúÀå¼Ò ¹× Àü¼Û °´Ã¼ÀÇ ¿¬°á ¸Þ¼Òµå´Â ÀÌ µî·Ï Á¤º¸¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚ À̸§À» °¡Á®¿É´Ï´Ù.
  4. ÇöÀç »ç¿ëÀÚÀÇ ±âº» ¹Ý¼Û ÁÖ¼Ò¸¦ "±âº» ¹Ý¼Û ÁÖ¼Ò"¿¡ ÁöÁ¤ÇÕ´Ï´Ù. ±âº» ÁÖ¼ÒÀÇ Çü½ÄÀº username@hostÀ̾î¾ß ÇÕ´Ï´Ù.
  5. "¼³¸í" Çʵ忡 ÀÌ JavaMail ¼¼¼Ç¿¡ ´ëÇÑ ¼³¸íÀ» ÀÔ·ÂÇÕ´Ï´Ù.
  6. ¸¸µç JavaMail ¼¼¼ÇÀ» Ȱ¼ºÈ­ÇÏ·Á¸é "JavaMail ¼¼¼Ç »ç¿ë" È®ÀζõÀ» ¼±ÅÃÇÕ´Ï´Ù.
  7. ±¸¼ºÇÑ »õ JavaMail ¼¼¼ÇÀ» ÀúÀåÇÏ·Á¸é "È®ÀÎ"À» ´©¸¨´Ï´Ù.

°í±Þ ÀÚ¿ø µî·Ï Á¤º¸ ±¸¼º

°ü¸® ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© »õ JavaMail ¼¼¼Ç¿¡ ´ëÇÑ ¸î °¡Áö Ãß°¡ µî·Ï Á¤º¸¸¦ ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. µî·Ï Á¤º¸ À̸§°ú °ª ½ÖÀº »ç¿ë ÁßÀÎ ¸ÞÀÏ ÇÁ·ÎÅäÄÝ¿¡ µû¶ó ´Þ¶óÁý´Ï´Ù. ÀÌ·¯ÇÑ µî·Ï Á¤º¸¸¦ server.xml ÆÄÀÏ¿¡¼­ Á÷Á¢ ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

Ãß°¡ µî·Ï Á¤º¸¸¦ ±¸¼ºÇÏ·Á¸é ´ÙÀ½ ÀÛ¾÷À» ¼öÇàÇÕ´Ï´Ù.

  1. °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ ¿ÞÂÊ Ã¢¿¡¼­ JavaMail ¼¼¼ÇÀ» ¼öÁ¤ÇÒ Sun ONE Application Server ÀνºÅϽº¸¦ È®ÀåÇÕ´Ï´Ù.
  2. "JavaMail ¼¼¼Ç"À» ´©¸¨´Ï´Ù. "»õ JavaMail ¼¼¼Ç ¸¸µé±â"¿¡¼­ ¼³¸íÇÑ ÁÖ¿ä ±¸¼º Àý ¾Æ·¡¿¡ ÀÖ´Â °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ ¿À¸¥ÂÊ Ã¢¿¡ "JavaMail ¼¼¼ÇÀÇ Ãß°¡ ÀÚ¿ø ±¸¼º" ±×¸²¿¡ ÀÖ´Â ´ë·Î ´ÙÀ½ âÀÌ Ç¥½ÃµË´Ï´Ù.

±×¸² 10-10 JavaMail ¼¼¼ÇÀÇ Ãß°¡ ÀÚ¿ø ±¸¼º

JavaMail ¼¼¼ÇÀÇ Ãß°¡ ÀÚ¿øÀ» ±¸¼ºÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÖ´Â ±×¸²ÀÔ´Ï´Ù.

  1. ÀÌ·¯ÇÑ Æ¯Á¤ JavaMail ¼¼¼Ç¿¡ »ç¿ëÇÒ ÀúÀå¼Ò ÇÁ·ÎÅäÄÝ(¿¹: POP3, IMAP)À» "ÀúÀå¼Ò ÇÁ·ÎÅäÄÝ" ÅØ½ºÆ® Çʵ忡 ÁöÁ¤ÇÕ´Ï´Ù.
  2. Ç¥½ÃÇÑ ÀúÀå¼Ò ÇÁ·ÎÅäÄÝÀÇ Å¬·¡½º À̸§À» ¿¹¿¡ Ç¥½ÃµÈ ´ë·Î "ÀúÀå¼Ò ÇÁ·ÎÅäÄÝ Å¬·¡½º" ÅØ½ºÆ® Çʵ忡 ÁöÁ¤ÇÕ´Ï´Ù.
  3. ÀÌ·¯ÇÑ JavaMailÀÇ Æ¯Á¤ ¼¼¼Ç¿¡ »ç¿ëÇÒ Àü¼Û ÇÁ·ÎÅäÄÝ(¿¹: SMTP)À» "Àü¼Û ÇÁ·ÎÅäÄÝ" ÅØ½ºÆ® Çʵ忡 ÀÔ·ÂÇÕ´Ï´Ù.
  4. ÀÌ ¼¼¼Ç¿¡ ´ëÇØ Ç¥½ÃÇÑ Àü¼Û ÇÁ·ÎÅäÄÝÀÇ Å¬·¡½º À̸§À» À§ÀÇ ¿¹¿¡¼­ Ç¥½ÃÇÑ ´ë·Î "Àü¼Û ÇÁ·ÎÅäÄÝ Å¬·¡½º" ÅØ½ºÆ® Çʵ忡 ÁöÁ¤ÇÕ´Ï´Ù.
  5. ÀÌ·¯ÇÑ JavaMailÀÇ Æ¯Á¤ ¼¼¼Ç µð¹ö±ëÀ» Ȱ¼ºÈ­ÇÏ·Á¸é "µð¹ö±× »ç¿ë" È®ÀζõÀ» ¼±ÅÃÇÕ´Ï´Ù. ÀÌ È®ÀζõÀ» Ȱ¼ºÈ­ÇÏ¸é µð¹ö±× ¸ðµå°¡ ¼³Á¤µË´Ï´Ù.
  6. Ãß°¡ µî·Ï Á¤º¸ ±¸¼ºÀ» ÀúÀåÇÏ·Á¸é "È®ÀÎ"À» ´©¸¨´Ï´Ù.

¸ÞÀÏ ÀÚ¿ø ±¸¼º¿¡ ´ëÇÑ Àüü ¿¹°¡ ¾Æ·¡¿¡ ³ª¿Í ÀÖ½À´Ï´Ù.

<mail-resource

jndi-name = "mail/Session"

enabled = "true"

store-protocol = "imap"

store-protocol-class = "com.sun.mail.imap.IMAPStore"

transport-protocol = "smtp"

transport-protocol-class = "com.sun.mail.smtp.SMTPTransport"

host = "gopostal.acme.com"

user = "kingkong"

from = "kingkong@acme.com"

debug = "false">

<property name = "mail-imap-host" value = "spaceduck.acme.com"/>

<property name = "mail-imap-user" value = "fredbloggs"/>

</mail-resource>



ÀÌÀü      ¸ñÂ÷      »öÀÎ      ´ÙÀ½     


Copyright 2003 Sun Microsystems, Inc. ¸ðµç ±Ç¸®´Â ÀúÀÛ±ÇÀÚÀÇ ¼ÒÀ¯ÀÔ´Ï´Ù.