Sun ONE ·Î°í     ÀÌÀü      ¸ñÂ÷      »öÀÎ      ´ÙÀ½     
Sun ONE Application Server 7, Update 1 °ü¸®ÀÚ ¼³¸í¼­



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

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

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

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

EJB¸¦ Æ÷ÇÔÇÑ J2EE ÀÀ¿ë ÇÁ·Î±×·¥, À¥ ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò ¹× ÀÀ¿ë ÇÁ·Î±×·¥ Ŭ¶óÀ̾ðÆ®´Â ÀÚ¿ø °ü¸®ÀÚ, µ¥ÀÌÅÍ ¼Ò½º(¿¹: SQL µ¥ÀÌÅÍ ¼Ò½º), ¿¬°á ÆÑÅ丮, ¿ìÆí ¼¼¼Ç, 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 µå¶óÀ̹ö¸¦ J2EE Ç÷§Æû¿¡ ¿¬°áÇϱâ À§ÇÑ ¼­ºñ½º °ø±ÞÀÚ ÀÎÅÍÆäÀ̽º

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

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

JavaMail ¼¼¼Ç

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

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

  • ¿ìÆíÀ» º¸³»±â À§ÇØ ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò¿¡¼­ »ç¿ëÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥ ¼öÁØ ÀÎÅÍÆäÀ̽º
  • J2EE SPI ¼öÁØ¿¡¼­ »ç¿ëÇÏ´Â ¼­ºñ½º °ø±ÞÀÚ ÀÎÅÍÆäÀ̽º

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¸¦ ÅëÇØ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Â ¼­ºñ½º¸¦ º¸¿©ÁÝ´Ï´Ù.

   JNDI ±¸Á¶ÀÇ °³¿ä
ÀÌ ±×¸²Àº JNDI ±¸Á¶ÀÇ °³¿ä¸¦ º¸¿©ÁÝ´Ï´Ù.

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

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

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

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

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

  • ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼ÒÀÇ ºñÁî´Ï½º ¸Þ¼Òµå´Â JNDI ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© ȯ°æ¿¡ ¾×¼¼½ºÇÕ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò °ø±ÞÀÚ´Â ÇØ´ç ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò°¡ ·±Å¸ÀÓ¿¡ ÀÚü ȯ°æ ³»¿¡¼­ ÇÊ¿ä·Î ÇÏ´Â ¸ðµç ȯ°æ Ç׸ñÀ» ¹èÆ÷ ¼³¸íÀÚ¿¡ ¼±¾ðÇÕ´Ï´Ù.
  • ÄÁÅ×À̳ʴ ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò ȯ°æÀ» ÀúÀåÇÏ´Â JNDI À̸§ ÁöÁ¤ ÄÁÅؽºÆ® ±¸ÇöÀ» Á¦°øÇÕ´Ï´Ù. ÄÁÅ×À̳ʴ ¹èÆ÷ÀÚ°¡ °¢ ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼ÒÀÇ È¯°æÀ» ¸¸µé°í °ü¸®ÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â µµ±¸µµ Á¦°øÇÕ´Ï´Ù.
  • ¹èÆ÷ÀÚ´Â ÄÁÅ×À̳ʿ¡¼­ Á¦°øÇÏ´Â µµ±¸¸¦ »ç¿ëÇÏ¿© ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò ¹èÆ÷ ¼³¸íÀÚ¿¡ ¼±¾ðµÇ¾î Àִ ȯ°æ Ç׸ñÀ» ÃʱâÈ­ÇÕ´Ï´Ù. ¹èÆ÷Àڴ ȯ°æ Ç׸ñÀÇ °ªÀ» ¼³Á¤ÇÏ°í ¼öÁ¤ÇÕ´Ï´Ù.
  • ÄÁÅ×À̳ʴ ·±Å¸ÀÓ¿¡ ȯ°æ À̸§ ÁöÁ¤ ÄÁÅؽºÆ®¸¦ ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò ÀνºÅϽº¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÕ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼ÒÀÇ ÀνºÅϽº´Â JNDI ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© ȯ°æ Ç׸ñÀÇ °ªÀ» °¡Á®¿É´Ï´Ù.

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

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

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

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

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

   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 javax.sql.DataSource ÆÑÅ丮ÀÇ °æ¿ì jdbc/
  • javax.jms.QueueConnectionFactory ¶Ç´Â JMS javax.jms.TopicConnectionFactoryÀÇ °æ¿ì jms/
  • JavaMail javax.mail.Session ÆÑÅ丮ÀÇ °æ¿ì mail/
  • java.net.URL factoryÀÇ °æ¿ì url/

´ÙÀ½Àº ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼ÒÀÇ 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 Ç׸ñ ¹× ´ë±â¿­ ´ë»ó¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº "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¿¡¼­ ´ÙÀ½ ÀÚ¿ø ¹× ÀÚ¿ø ÆÑÅ丮¿¡ ¾×¼¼½ºÇϱâ À§ÇÑ ¹æ¹ýÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

  • JDBC ¿¬°á ÆÑÅ丮
  • MQ¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â JMS ¿¬°á ÆÑÅ丮
  • JavaMail ¼¼¼Ç ¿¬°á ÆÑÅ丮
  • JCA Ä¿³ØÅÍ ÆÑÅ丮
  • ÀϹÝ, »ç¿ëÀÚ Á¤ÀÇ »ç¿ëÀÚ ÀÛ¼º ÀÚ¿ø °´Ã¼ ÆÑÅ丮
  • LDAP¿Í °°Àº ¿ÜºÎ ÀÚ¿ø ¸®Æ÷ÁöÅ丮¿¡ ´ëÇÑ Áö¿ø

¸ðµç 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 À̸§ ÁöÁ¤ ȯ°æ°ú °ü·ÃµÈ

»õ·Î¿î ÂüÁ¶¸¦ »õ·Î ¼³Ä¡ÇÑ ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ À̸§ ÁöÁ¤ ÄÁÅؽºÆ®¿¡ ´Ù½Ã ¹ÙÀεùÇÕ´Ï´Ù.

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

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

   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 ¿ÜºÎ ÀÚ¿ø ÆäÀÌÁö"¿¡¼­¿Í °°ÀÌ ´ÙÀ½ âÀÌ Ç¥½ÃµÉ °ÍÀÔ´Ï´Ù.

   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¿¡¼­ Áö¿øÇÏ´Â Ç÷¯±×Çü Áö¼Ó¼º °ü¸®ÀÚ »ç¿ëÀ» À§ÇÑ ÇÁ·¹ÀÓ¿öÅ©¸¦ ¼³Á¤ÇÕ´Ï´Ù.

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

Áö¼Ó¼ºÀ̶õ?

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

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

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

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

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

  • C - Áö¼Ó¼º µ¥ÀÌÅÍ ¸¸µé±â(µ¥ÀÌÅÍ ÀúÀå¼Ò¿¡ »ðÀÔ)
  • R - Áö¼Ó¼º µ¥ÀÌÅÍ °Ë»ö(µ¥ÀÌÅÍ ÀúÀå¼Ò¿¡¼­ ¼±ÅÃ)
  • U - Áö¼Ó¼º µ¥ÀÌÅÍ ¾÷µ¥ÀÌÆ®
  • D - Áö¼Ó¼º µ¥ÀÌÅÍ »èÁ¦

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

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

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

  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 Æ®·£Àè¼Ç¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº "Æ®·£Àè¼Ç ¼­ºñ½º »ç¿ë"À» ÂüÁ¶ÇϽʽÿÀ.

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 ÀÚ¿øÀ» ¸¸µé ¼ö ÀÖ´Â ÆäÀÌÁö°¡ ¿À¸¥ÂÊ Ã¢¿¡ Ç¥½ÃµË´Ï´Ù.

   »õ 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-the protocol:
  • JDBC URLÀÇ ÇÁ·ÎÅäÄÝÀº Ç×»ó jdbcÀÔ´Ï´Ù.

  • <subprotocol>
  • µå¶óÀ̹öÀÇ À̸§ ¶Ç´Â Çϳª ÀÌ»óÀÇ µå¶óÀ̹ö¿¡¼­ Áö¿øÇÏ´Â µ¥ÀÌÅͺ£À̽º ¿¬°á ¸ÞÄ¿´ÏÁòÀÇ À̸§ÀÔ´Ï´Ù. ÇÏÀ§ ÇÁ·ÎÅäÄÝ À̸§ÀÇ µÎµå·¯Áø ¿¹´Â ODBC·Î ODBC ½ºÅ¸ÀÏ µ¥ÀÌÅÍ ¼Ò½º À̸§À» ÁöÁ¤ÇÏ´Â URLÀ» À§ÇØ ¿¹¾àµÇ¾î ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, JDBC-ODBC ºê¸®Áö¸¦ ÅëÇØ µ¥ÀÌÅͺ£À̽º¿¡ ¾×¼¼½ºÇÏ·Á¸é jdbc:odbc:fred °°Àº URLÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.

    ÀÌ ¿¹¿¡¼­ ÇÏÀ§ ÇÁ·ÎÅäÄÝÀº ODBCÀ̸ç ÇÏÀ§ À̸§ fred´Â ·ÎÄà ODBC µ¥ÀÌÅÍ ¼Ò½ºÀÔ´Ï´Ù.

    ³×Æ®¿öÅ© À̸§ ¼­ºñ½º¸¦ »ç¿ëÇÏ·Á´Â °æ¿ì(µû¶ó¼­ JDBC URLÀÇ µ¥ÀÌÅͺ£À̽º À̸§ÀÌ ½ÇÁ¦ À̸§À» °¡Áú ÇÊ¿ä°¡ ¾ø´Â °æ¿ì), À̸§ ÁöÁ¤ ¼­ºñ½º°¡ ÇÏÀ§ ÇÁ·ÎÅäÄÝÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼­ URLÀÌ ´ÙÀ½°ú °°À» ¼ö ÀÖ½À´Ï´Ù.

    jdbc:dcenaming:accounts-payable

    ÀÌ ¿¹¿¡¼­ URLÀº ·ÎÄà DCE À̸§ ÁöÁ¤ ¼­ºñ½º°¡ °èÁ¤¿¡ ÀûÇÕÇÑ µ¥ÀÌÅͺ£À̽º À̸§À» ½ÇÁ¦ µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áÇÒ ¶§ »ç¿ëÇÒ ¼ö ÀÖ´Â Á» ´õ ±¸Ã¼ÀûÀÎ À̸§À¸·Î º¯È¯ÇÒ °ÍÀ» ÁöÁ¤ÇÕ´Ï´Ù.

  • <subname>:
  • µ¥ÀÌÅÍ ¼Ò½º¸¦ ½Äº°ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÔ´Ï´Ù. ÇÏÀ§ ÇÁ·ÎÅäÄÝ¿¡ µû¶ó ÇÏÀ§ À̸§Àº ´Ù¾çÇÒ ¼ö ÀÖÀ¸¸ç sub-subnameÀ» ºñ·ÔÇÏ¿© µå¶óÀ̹ö ÀÛ¼ºÀÚ°¡ ¼±ÅÃÇÒ ¼ö ÀÖ´Â ³»ºÎ ±¸¹®À» °®½À´Ï´Ù. subnameÀÇ ÇÙ½ÉÀº µ¥ÀÌÅÍ ¼Ò½º¸¦ ã´Â µ¥ ÃæºÐÇÑ Á¤º¸¸¦ Á¦°øÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌÀü ¿¹ÀÇ °æ¿ì ODBC°¡ Á¤º¸ÀÇ ³ª¸ÓÁö ºÎºÐÀ» Á¦°øÇϹǷΠfred¸¸ ÁöÁ¤Çصµ ÃæºÐÇÕ´Ï´Ù. ÇÏÁö¸¸ ¿ø°Ý ¼­¹öÀÇ µ¥ÀÌÅÍ ¼Ò½º´Â Á» ´õ ÀÚ¼¼ÇÑ Á¤º¸¸¦ ÇÊ¿ä·Î ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ÀÎÅͳÝÀ» ÅëÇØ µ¥ÀÌÅÍ ¼Ò½º¿¡ ¾×¼¼½ºÇÏ´Â °æ¿ì ³×Æ®¿öÅ© ÁÖ¼Ò°¡ subnameÀÇ ÀϺηΠJDBC URL¿¡ Æ÷ÇԵǾî¾ß ÇÏ¸ç ´ÙÀ½ Ç¥ÁØ URL ¸í¸í ±ÔÄ¢À» µû¶ó¾ß ÇÕ´Ï´Ù.

    //hostname:port/subsubname

    dbnetÀÌ ÀÎÅͳݿ¡¼­ È£½ºÆ®¿¡ ¿¬°áÇϱâ À§ÇÑ ÇÁ·ÎÅäÄÝÀ̶ó°í °¡Á¤Çϸé JDBC URLÀº ´ÙÀ½°ú °°À» °ÍÀÔ´Ï´Ù.

    jdbc:dbnet://wombat:356/fred

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 ¿¬°á Ç® ¸¸µé±â¿Í °°Àº È­¸éÀÌ °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ ¿À¸¥ÂÊ Ã¢¿¡ Ç¥½ÃµË´Ï´Ù.

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

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

¿¬°á Ç® ¼³Á¤ ±¸¼º

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

  • ÀϹÝ
  • µî·Ï Á¤º¸
  • Ç® ¼³Á¤
  • ¿¬°á °ËÁõ
  • Æ®·£Àè¼Ç °Ý¸®

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

   ÀÏ¹Ý ¼³Á¤

¸Å°³ º¯¼ö

¼³¸í

À̸§

 

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

 

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

 

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

 

¼³¸í

 

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

 

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

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

   ¿¬°á Ç® ¼³Á¤

¸Å°³ º¯¼ö

¼³¸í

°íÁ¤ Ç® Å©±â

 

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

 

ÃÖ´ë Ç® Å©±â

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

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

¸Å°³ º¯¼ö

¼³¸í

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

 

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

 

°ËÁõ ¹æ¹ý

 

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

  • 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 ¼³Ä¡¿Í °ü·ÃµÈ ¸Å°³ º¯¼ö¸¦ ÁغñÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.

   ¸í·ÉÁÙ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© 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() ¿äûÀÌ Ç®ÀÌ ºñ¾î ÀÖÀ½À» ¹ß°ßÇϰųª ¸¸µç ¿¬°á ¼ö°¡ Ç®ÀÇ ÃÖ´ë ¿¬°á ¼ö¿Í °°Àº °æ¿ì ÇöÀç ¿äûÀÌ Â÷´ÜµË´Ï´Ù. ¿¬°á °øÀ¯°¡ °¡´ÉÇÏÁö ¾ÊÀº °æ¿ì¿¡¸¸ Â÷´ÜµÇ¸ç ¿¬°áÀÌ Ç®¿¡ ¹ÝȯµÉ ¶§±îÁö °è¼ÓµË´Ï´Ù.

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

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

  • auto-commitÀ» ¿¬°á °ËÁõ À¯ÇüÀ¸·Î ¼±ÅÃÇÑ °æ¿ì ½Ã½ºÅÛ¿¡¼­´Â conn.getAutoCommit() ¸Þ¼Òµå¸¦ ¼öÇàÇÏ¿© ¿¬°áÀÌ À¯È¿ÇÑÁö ¿©ºÎ¸¦ °Ë»çÇÕ´Ï´Ù. ¸Þ¼Òµå°¡ SQLExceptionÀ» ¹ß»ý½ÃÅ°Áö ¾ÊÀ¸¸é ¿¬°áÀº À¯È¿ÇÑ °ÍÀ¸·Î °£Áֵ˴ϴÙ. auto-commitÀº ÀÌ ¸Å°³ º¯¼öÀÇ ±âº» ¿É¼ÇÀÔ´Ï´Ù.
  • meta-data¸¦ ¿¬°á °ËÁõ À¯ÇüÀ¸·Î ¼±ÅÃÇÑ °æ¿ì conn.getMetaData() ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© ¿¬°áÀÇ ¸ÞŸµ¥ÀÌÅ͸¦ °Ë»çÇÕ´Ï´Ù. ¸Þ¼Òµå°¡ SQLExceptionÀ» ¹ß»ý½ÃÅ°Áö ¾ÊÀ¸¸é ¿¬°áÀº À¯È¿ÇÑ °ÍÀ¸·Î °£Áֵ˴ϴÙ.
  • tableÀ» ¿¬°á °ËÁõ À¯ÇüÀ¸·Î ¼±ÅÃÇÑ °æ¿ì "Select * From <table-name>" Äõ¸®°¡ ½ÇÇàµË´Ï´Ù. ÀÌ È£ÃâÀÌ SQLExceptionÀ» ¹ß»ý½ÃÅ°Áö ¾ÊÀ¸¸é ¿¬°áÀº À¯È¿ÇÑ °ÍÀ¸·Î °£Áֵ˴ϴÙ.

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

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

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

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

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

   ¸ð´ÏÅ͸µÀ» À§ÇÑ 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´Â ÀÏ¹Ý Å¬¶óÀ̾ðÆ® ÀÀ¿ë ÇÁ·Î±×·¥À» À§ÇÑ Ç¥ÁØ ¿ìÆí ó¸® °úÁ¤À» ±¸¼ºÇÏ´Â ´ÙÀ½ ±â´ÉÀ» ¼öÇàÇÕ´Ï´Ù.

  • Content-Type Çì´õ Çʵ忡 ÁöÁ¤µÈ ¸î °¡Áö ¾Ë·ÁÁø µ¥ÀÌÅÍ À¯ÇüÀÇ µ¥ÀÌÅÍ ºí·Ï°ú Çì´õ ¼Ó¼º ÁýÇÕÀ¸·Î ÀÌ·ç¾îÁø ¿ìÆí ¸Þ½ÃÁö¸¦ ¸¸µì´Ï´Ù. JavaMailÀº Part ÀÎÅÍÆäÀ̽º¿Í ¸Þ½ÃÁö Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© ¿ìÆí ¸Þ½ÃÁö¸¦ Á¤ÀÇÇÕ´Ï´Ù. ±×¸®°í JAF Á¤ÀÇ DataHandler °´Ã¼¸¦ »ç¿ëÇÏ¿© ¸Þ½ÃÁö¿¡ ÀÖ´Â µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÕ´Ï´Ù.
  • »ç¿ëÀÚ¸¦ ÀÎÁõÇÏ°í ¸Þ½ÃÁö ÀúÀå¼Ò¿Í Àü¼Û¿¡ ´ëÇÑ ¾×¼¼½º¸¦ Á¦¾îÇÏ´Â ¼¼¼Ç °´Ã¼¸¦ ¸¸µì´Ï´Ù.
  • ¸Þ½ÃÁö¸¦ ¹Þ´Â »ç¶÷ ¸ñ·ÏÀ¸·Î º¸³À´Ï´Ù.
  • ¸Þ½ÃÁö ÀúÀå¼Ò·ÎºÎÅÍ ¸Þ½ÃÁö¸¦ °Ë»öÇÕ´Ï´Ù.
  • °Ë»öµÈ ¸Þ½ÃÁö¿¡¼­ °í±Þ ¸í·ÉÀ» ½ÇÇàÇÕ´Ï´Ù. view¿Í print °°Àº °í±Þ ¸í·ÉÀº JAF ÀÎ½Ä JavaBeans¸¦ ÅëÇØ ±¸ÇöµÇµµ·Ï ¸¸µé¾îÁ³½À´Ï´Ù.


  • ÁÖ

    ÇöÀç JavaMail ÇÁ·¹ÀÓ¿öÅ©´Â ¸Þ½ÃÁö Àü´Þ, º¸¾È, ¿¬°á ÇØÁ¦ ÀÛ¾÷, µð·ºÅ丮 ¼­ºñ½º ¶Ç´Â ÇÊÅÍ ±â´ÉÀ» Áö¿øÇÏ´Â ¸ÞÄ¿´ÏÁòÀº Á¤ÀÇÇÏÁö ¾Ê½À´Ï´Ù.



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

  
ÀÌ ±×¸²Àº Java Mail 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¸¦ Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.

   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 ¿ä¼Ò¿¡¼­ ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù.

  • JNDI À̸§
  • JNDI À̸§Àº ÀÌ ¿ìÆí ÀÚ¿øÀÌ J2EE ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ ÂüÁ¶ÇÏ´Â µ¥ »ç¿ëÇÏ´Â À̸§À» ÁöÁ¤ÇÕ´Ï´Ù.

  • Enabled
  • enabled ±¸¼º ¸Å°³ º¯¼ö´Â ÀÌ ¿ìÆí ÀÚ¿øÀ» JNDI Æ®¸®¿¡ °Ô½ÃÇÏ¿© ÂüÁ¶ÇÒ ¼ö ÀÖ´ÂÁö ¿©ºÎ¸¦ ÁöÁ¤ÇÕ´Ï´Ù. J2EE ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ºñÈ°¼ºÈ­µÈ ÀÚ¿øÀ» ÂüÁ¶Çϸé NameNotFoundException ¿¹¿Ü¸¦ ¹Þ°Ô µË´Ï´Ù.

  • store-protocol
  • ±âº» ¸Þ½ÃÁö ¾×¼¼½º ÇÁ·ÎÅäÄÝÀ» ÁöÁ¤ÇÕ´Ï´Ù. Session.getStore() ¸Þ¼Òµå´Â ÀÌ ÇÁ·ÎÅäÄÝÀ» ±¸ÇöÇÏ´Â ÀúÀå¼Ò °´Ã¼¸¦ ¹ÝȯÇÕ´Ï´Ù. Ŭ¶óÀ̾ðÆ®´Â ÀÌ µî·Ï Á¤º¸¸¦ ¹«½ÃÇÏ°í Session.getStore (String protocol) ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© ÇÁ·ÎÅäÄÝÀ» ¸í½ÃÀûÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

  • store-protocol Ŭ·¡½º
  • À§¿¡ ÁöÁ¤µÈ ÀúÀå¼Ò ÇÁ·ÎÅäÄÝÀ» ±¸ÇöÇϴ Ŭ·¡½º À̸§À» ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ Å¬·¡½ºÀÇ ±âº»°ªÀº com.sun.mail.imap.IMAPStoreÀÔ´Ï´Ù.

  • transport-protocol
  • ±âº» Àü¼Û ÇÁ·ÎÅäÄÝÀ» ÁöÁ¤ÇÕ´Ï´Ù. Session.getTransport() ¸Þ¼Òµå´Â ÀÌ ÇÁ·ÎÅäÄÝÀ» ±¸ÇöÇÏ´Â Àü¼Û °´Ã¼¸¦ ¹ÝȯÇÕ´Ï´Ù. Ŭ¶óÀ̾ðÆ®´Â ÀÌ µî·Ï Á¤º¸¸¦ ¹«½ÃÇÏ°í Session.getTransport (String protocol) ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© ÇÁ·ÎÅäÄÝÀ» ¸í½ÃÀûÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

  • transport-protocol Ŭ·¡½º
  • À§¿¡¼­ ÁöÁ¤ÇÑ Àü¼Û ÇÁ·ÎÅäÄÝÀ» ±¸ÇöÇϴ Ŭ·¡½º À̸§À» ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ Å¬·¡½ºÀÇ ±âº»°ªÀº com.sun.mail.smtp.SMTPTransportÀÔ´Ï´Ù.

  • host
  • ±âº» ¸ÞÀÏ ¼­¹ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÇÁ·ÎÅäÄÝ °ü·Ã È£½ºÆ® µî·Ï Á¤º¸°¡ ¾ø´Â °æ¿ì ÀúÀå¼Ò ¹× Àü¼Û °´Ã¼ÀÇ ¿¬°á ¸Þ¼Òµå´Â ÀÌ µî·Ï Á¤º¸¸¦ »ç¿ëÇÏ¿© ´ë»ó È£½ºÆ®¸¦ ã½À´Ï´Ù.

  • user
  • ¸ÞÀÏ ¼­¹ö¿¡ ¿¬°áÇÒ ¶§ ÀÔ·ÂÇÒ »ç¿ëÀÚ À̸§À» ÁöÁ¤ÇÕ´Ï´Ù. ÇÁ·ÎÅäÄÝ °ü·Ã »ç¿ëÀÚ À̸§ µî·Ï Á¤º¸°¡ ¾ø´Â °æ¿ì ÀúÀå¼Ò ¹× Àü¼Û °´Ã¼ÀÇ ¿¬°á ¸Þ¼Òµå´Â ÀÌ µî·Ï Á¤º¸¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚ À̸§À» ¾ò½À´Ï´Ù.

  • from
  • ÇöÀç »ç¿ëÀÚÀÇ ¹Ý¼Û ÁÖ¼Ò¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÇöÀç »ç¿ëÀÚÀÇ ÀüÀÚ ¿ìÆí ÁÖ¼Ò¸¦ ÁöÁ¤Çϱâ À§ÇØ InternetAddress.getLocalAddress ¸Þ¼Òµå¿¡¼­ »ç¿ëÇÕ´Ï´Ù.

  • debug
  • Ãʱ⠵ð¹ö±× ¸ðµå¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ µî·Ï Á¤º¸¸¦ true·Î ¼³Á¤ÇÏ¸é µð¹ö±× ¸ðµå°¡ ¼³Á¤µÇ¸ç false·Î ¼³Á¤ÇÏ¸é µð¹ö±× ¸ðµå°¡ ÇØÁ¦µË´Ï´Ù.

  • mail-<protocol>-host
  • ÇÁ·ÎÅäÄÝ °ü·Ã ±âº» ¸ÞÀÏ ¼­¹ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù. µû¶ó¼­ mail.host µî·Ï Á¤º¸´Â ¹«½ÃµË´Ï´Ù. store-protocol ¼Ó¼ºÀÇ °ª¿¡ µû¶ó ÀÌ µî·Ï Á¤º¸¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. store-protocolÀÇ Imap ¶Ç´Â POP °ª¿¡ ´ëÇؼ­´Â mail.imap.host³ª mail.pop3.host¶õ À̸§À» °¢°¢ »ç¿ëÇÏ¿© µî·Ï Á¤º¸¸¦ Ãß°¡ÇØ¾ß ÇÕ´Ï´Ù. ƯÁ¤ µî·Ï Á¤º¸ÀÇ °ªÀº ¿ìÆí ½Ã½ºÅÛ ±¸¼º¿¡ ÀûÇÕÇÏ°Ô ¼³Á¤µÇ¾î¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, store-protocolÀ» IMAP·Î ¼³Á¤ÇÏ¸é µî·Ï Á¤º¸ À̸§ mail-imap-host´Â spaceduck.acme.comÀ̶ó´Â °ªÀ» °¡Áú °ÍÀÔ´Ï´Ù.

  • mail-<protocol>-user
  • ¸ÞÀÏ ¼­¹ö¿¡ ¿¬°áÇϱâ À§ÇÑ ÇÁ·ÎÅäÄÝ °ü·Ã ±âº» »ç¿ëÀÚ À̸§À» ÁöÁ¤ÇÕ´Ï´Ù. µû¶ó¼­ mail.user µî·Ï Á¤º¸´Â ¹«½ÃµË´Ï´Ù. ¼±ÅÃÇÑ store-protocol ¼Ó¼º¿¡ µû¶ó ÀÌ µî·Ï Á¤º¸´Â mail.imap.user³ª mail.pop3.user°¡ µÉ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, store-protocolÀ» IMAP·Î ¼³Á¤ÇÏ¸é µî·Ï Á¤º¸ À̸§ mail-imap-user´Â fredbloggs¶ó´Â °ªÀ» °¡Áú °ÍÀÔ´Ï´Ù.

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 ¼¼¼Ç ±¸¼º¿¡ Ç¥½ÃµÈ ´ÙÀ½ âÀÌ Ç¥½ÃµË´Ï´Ù.

   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 ¼¼¼ÇÀÇ Ãß°¡ ÀÚ¿ø ±¸¼º¿¡ ÀÖ´Â ´ë·Î ´ÙÀ½ âÀÌ Ç¥½ÃµË´Ï´Ù.

   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. ¸ðµç ±Ç¸®´Â ÀúÀÛ±ÇÀÚÀÇ ¼ÒÀ¯ÀÔ´Ï´Ù.