![]() | |
Sun Java System Message Queue 3 2005Q1 ±â¼ú °³¿ä |
1Àå
°³³äÀû ±âÃÊSun Java¢â System Message Queue(Message Queue)´Â ±â¾÷ Àüü¿¡ ºÐ»êµÈ ÀÀ¿ë ÇÁ·Î±×·¥ ¹× ±¸¼º ¿ä¼Ò¸¦ ÅëÇÕÇÒ ¼ö ÀÖ´Â ¾ÈÁ¤ÀûÀÎ ºñµ¿±â½Ä ¸Þ½Ã¡À» Á¦°øÇÕ´Ï´Ù. ´Ù¾çÇÑ Ç÷§Æû ¹× ¿î¿µ üÁ¦¿¡¼ ½ÇÇà ÁßÀÎ ÇÁ·Î¼¼½º°¡ ¼ºñ½º¿¡ ¿¬°áÇÏ¿© ¼·Î »óÈ£ ÀÛ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
Message Queue´Â JMS(Java¢â Message Service) °³¹æÇü Ç¥ÁØÀ» ±¸ÇöÇϴ ǥÁØ ±â¹Ý ¸Þ½Ã¡ ¼Ö·ç¼ÇÀÔ´Ï´Ù. ¶ÇÇÑ Message Queue´Â ´ë±Ô¸ð ¿£ÅÍÇÁ¶óÀÌÁî ¹èÆ÷¿¡ ÇÊ¿äÇÑ »óÈ£ ¿î¿ë¼º, º¸¾È, È®À强, °¡¿ë¼º, °ü¸®¼º ¹× ±âŸ ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.
ÀÌ Àå¿¡¼´Â Message Queue¿¡ ´ëÇÑ °³³äÀû ±âÃʸ¦ Á¦°øÇÏ¸ç ´ÙÀ½ ³»¿ëÀ¸·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù.
JMS °³³ä ¹× ¿ë¾î¿¡ ÀÌ¹Ì Àͼ÷ÇÏ´Ù¸é 2Àå, "Message Queue ¼Ò°³"·Î °Ç³Ê¶Û ¼ö ÀÖ½À´Ï´Ù.
¿£ÅÍÇÁ¶óÀÌÁî ¸Þ½Ã¡ ½Ã½ºÅÛ¿£ÅÍÇÁ¶óÀÌÁî ¸Þ½Ã¡ ½Ã½ºÅÛ¿¡¼ µ¶¸³ ºÐ»ê ÀÀ¿ë ÇÁ·Î±×·¥À̳ª ÀÀ¿ë ÇÁ·Î±×·¥ ±¸¼º ¿ä¼Ò´Â ¸Þ½ÃÁö¸¦ ÅëÇØ »óÈ£ ÀÛ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. µ¿ÀÏÇÑ È£½ºÆ®³ª ³×Æ®¿öÅ©¿¡ Àְųª ¶Ç´Â ÀÎÅͳÝÀ» ÅëÇØ ´À½¼ÇÏ°Ô ¿¬°áµÇ¾î ÀÖ´Â ÀÌ ±¸¼º ¿ä¼ÒµéÀº ¸Þ½Ã¡À» »ç¿ëÇÏ¿© µ¥ÀÌÅ͸¦ Àü´ÞÇÏ°í °¢ÀÚÀÇ ±â´ÉÀ» Á¶Á¤ÇÕ´Ï´Ù.
¸¹Àº ¼öÀÇ ±¸¼º ¿ä¼Ò°¡ µ¿½Ã¿¡ ¸Þ½ÃÁö¸¦ ±³È¯ÇÏ°í °í¿ë·®ÀÇ Ã³¸®·®À» Áö¿øÇϱâ À§Çؼ´Â ¸Þ½ÃÁö ¹ß½ÅÀÌ »ç¿ëÀÚÀÇ Áï½Ã ¼ö½Å °¡´É ¿©ºÎ¿¡ µû¶ó °áÁ¤µÇ¾î¼´Â ¾È µË´Ï´Ù. ¸Þ½ÃÁö »ç¿ëÀÚ°¡ ÀÛ¾÷ ÁßÀ̰ųª ¿ÀÇÁ¶óÀÎ »óÅÂÀÎ °æ¿ì, ½Ã½ºÅÛÀº »ç¿ëÀÚ°¡ ¿Â¶óÀÎÀÌ µÉ ¶§ ¸Þ½ÃÁö ¼ö½ÅÀÌ °¡´ÉÇϵµ·Ï ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ½ÃÁö ¼Û¼ö½ÅÀÇ ºÐ¸®¸¦ ºñµ¿±â½Ä ¸Þ½ÃÁö Àü´ÞÀ̶ó°í ÇÕ´Ï´Ù.
ºñµ¿±â½Ä ¸Þ½Ã¡ ¸ðµ¨Àº º¹ÀâÇÑ ½Ã½ºÅÛÀ» ÅëÇÕÇÏ´Â ÀÛ¾÷¿¡ ¸Å¿ì ÀûÇÕÇÕ´Ï´Ù. ÀÌ ¸ðµ¨Àº ÀÛ¾÷ ¼öÇà °úÁ¤¿¡¼ ÇÑ ±¸¼º ¿ä¼Ò°¡ ´Ù¸¥ ±¸¼º ¿ä¼Ò¸¦ ¹æÇØÇÒ ¼ö ¾ø°Ô µÇ¾î ÀÖ½À´Ï´Ù. ºñµ¿±â½Ä ¸Þ½Ã¡Àº µ¿±â½Ä ½Ã½ºÅÛ¿¡¼ °¡´ÉÇÑ ÀϺΠÁ¦¾î ±â´ÉÀ» Æ÷±âÇÏÁö¸¸ ±¸¼º ¿ä¼ÒÀÇ »óÈ£ ÀÛ¿ë¿¡ »ó´çÇÑ À¯¿¬¼ºÀ» Á¦°øÇϸç ÇÑ ±¸¼º ¿ä¼Ò°¡ ½ÇÆÐÇÏ´õ¶óµµ Àüü ±¸¼º ¿ä¼ÒÀÇ ½ÇÆÐ·Î ¿¬°áµÇÁö ¾ÊÀ¸¹Ç·Î °ß°í¼ºÀÌ ´õÇØÁý´Ï´Ù.
¿£ÅÍÇÁ¶óÀÌÁî ¸Þ½Ã¡ ½Ã½ºÅÛÀÇ ¿ä±¸ »çÇ×
ÀϹÝÀûÀ¸·Î ¿£ÅÍÇÁ¶óÀÌÁî ÀÀ¿ë ÇÁ·Î±×·¥ ½Ã½ºÅÛÀº 24½Ã°£ ÁßÂ÷´ëÇÑ ÀÛ¾÷À¸·Î ¹«¼öÈ÷ ¸¹Àº ¸Þ½ÃÁö¸¦ ±³È¯ÇÏ´Â ¸¹Àº ¼öÀÇ ºÐ»ê ±¸¼º ¿ä¼Ò·Î ±¸¼ºµË´Ï´Ù. ºñµ¿±â½Ä ¸Þ½Ã¡ Áö¿øÀ» ºñ·ÔÇÏ¿© ÀÌ·¯ÇÑ ½Ã½ºÅÛÀ» Áö¿øÇÏ·Á¸é ¿£ÅÍÇÁ¶óÀÌÁî ¸Þ½Ã¡ ½Ã½ºÅÛÀÌ ´ÙÀ½ ¿ä±¸ »çÇ×À» ¸¸Á·½ÃÄÑ¾ß ÇÕ´Ï´Ù.
¾ÈÁ¤ÀûÀÎ Àü´Þ. ±¸¼º ¿ä¼Ò °£¿¡ Àü´ÞµÇ´Â ¸Þ½ÃÁö´Â ³×Æ®¿öÅ©³ª ½Ã½ºÅÛ ¿À·ù·Î ÀÎÇØ ¼Õ½ÇµÇÁö ¾Ê¾Æ¾ß ÇÕ´Ï´Ù. Áï ½Ã½ºÅÛ¿¡¼ ¸Þ½ÃÁö Àü´ÞÀ» º¸ÀåÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù.
º¸¾È. ¸Þ½Ã¡ ½Ã½ºÅÛÀº »ç¿ëÀÚ ÀÎÁõ, ¸Þ½ÃÁö ¹× ÀÚ¿ø¿¡ ´ëÇÑ ÀÎÁõµÈ ¾×¼¼½º, ȸ¼±À» ÅëÇÑ ¾ÏÈ£È¿Í °°Àº ±âº» º¸¾È ±â´ÉÀ» Áö¿øÇØ¾ß ÇÕ´Ï´Ù.
È®À强. ¸Þ½Ã¡ ½Ã½ºÅÛÀº ¼º´ÉÀ̳ª ¸Þ½ÃÁö 󸮷®ÀÌ ½ÇÁ¦·Î ÀúÇϵÇÁö ¾ÊÀ¸¸é¼ ·Îµå Áõ°¡(»ç¿ëÀÚ ¼ö ¹× ¸Þ½ÃÁö ¼ö Áõ°¡)¸¦ ¼ö¿ëÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¾÷¹«¿Í ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ´Ã¾î³ª¸é ÀÌ´Â ¸Å¿ì Áß¿äÇÑ ¿ä±¸ »çÇ×ÀÌ µË´Ï´Ù.
°¡¿ë¼º. ¸Þ½Ã¡ ½Ã½ºÅÛÀº °ÅÀÇ ´Ù¿î ŸÀÓ ¾øÀÌ ÀÛµ¿ÇØ¾ß ÇÕ´Ï´Ù. Áï ¿À·ù ¹ß»ý ½Ã ½Ã½ºÅÛÀÌ ¸Þ½Ã¡ ¼ºñ½º¸¦ °è¼Ó Á¦°øÇϱ⿡ ÃæºÐÇÑ Áߺ¹À» Æ÷ÇÔÇØ¾ß ÇÔÀ» ÀǹÌÇÕ´Ï´Ù.
°ü¸®¼º. ¸Þ½Ã¡ ½Ã½ºÅÛÀº ¸Þ½ÃÁö Àü´ÞÀ» ¸ð´ÏÅÍÇÏ°í °ü¸®ÇÒ µµ±¸¸¦ Á¦°øÇØ¾ß ÇÕ´Ï´Ù. °ü¸®ÀÚ´Â ½Ã½ºÅÛ ÀÚ¿øÀ» ÃÖÀûÈÇÏ°í ½Ã½ºÅÛ ¼º´ÉÀ» Á¶Á¤ÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù.
Áß¾Ó ÁýÁß½Ä(MOM) ¸Þ½Ã¡
¸Þ½ÃÁö ´ë±â¿Àº ±×¸² 1-1¿¡ Ç¥½ÃµÈ ´ë·Î Áß¾Ó ÁýÁᫎ ¸Þ½Ã¡ ½Ã½ºÅÛÀ» »ç¿ëÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ½Ã½ºÅÛ¿¡¼ °¢ ¸Þ½Ã¡ ±¸¼º ¿ä¼Ò´Â ´ÜÀÏ Áß¾Ó ¸Þ½ÃÁö ¼ºñ½º¿ÍÀÇ ¿¬°áÀ» À¯Áö °ü¸®ÇÕ´Ï´Ù. ±¸¼º ¿ä¼Ò´Â Àß Á¤ÀÇµÈ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ ¸Þ½ÃÁö ¼ºñ½º¿Í »óÈ£ ÀÛ¿ëÇÕ´Ï´Ù.
¸ðµç ¸Þ½Ã¡ ±¸¼º ¿ä¼Ò°¡ ´Ù¸¥ ¸ðµç ±¸¼º ¿ä¼Ò¿ÍÀÇ ¿¬°áÀ» À¯Áö °ü¸®ÇÏ´Â ´ëü ÇǾî Åõ ÇÇ¾î ½Ã½ºÅÛÀº ±×¸²ÀÇ ¿ÞÂÊ¿¡ ÀÖ½À´Ï´Ù. ÇǾî Åõ ÇÇ¾î ½Ã½ºÅÛ¿¡¼´Â ºü¸£°í ¾ÈÁ¤ÀûÀÌ¸ç º¸¾ÈÀÌ À¯ÁöµÈ »óÅ·ΠÀü´ÞÀ» ÇÒ ¼ö ÀÖÁö¸¸, ¾ÈÁ¤¼º°ú º¸¾ÈÀ» Áö¿øÇÏ´Â Äڵ尡 °¢ ±¸¼º ¿ä¼Ò¸¶´Ù Á¸ÀçÇØ¾ß ÇÕ´Ï´Ù. ¸Þ½ÃÁöÀÇ ¼Û¼ö½ÅÀº ±ä¹ÐÇÏ°Ô °áÇյǾî ÀÖÀ¸¹Ç·Î ºñµ¿±â½Ä Àü´ÞÀÌ ¾î·Á¿öÁý´Ï´Ù. ±¸¼º ¿ä¼Ò°¡ ½Ã½ºÅÛ¿¡ Ãß°¡µÇ¸é ¿¬°á ¼ö°¡ ±âÇÏÇÐÀûÀ¸·Î ´Ã¾î³ª¹Ç·Î ½Ã½ºÅÛÀÌ Á¦´ë·Î È®ÀåµÇÁö ¾Ê½À´Ï´Ù. ¶ÇÇÑ Áß¾Ó ÁýÁᫎ °ü¸®´Â ÇǾî Åõ ÇÇ¾î ½Ã½ºÅÛ¿¡¼ ¹®Á¦°¡ µË´Ï´Ù.
±×¸² 1-1 Áß¾Ó ÁýÁᫎ ¸Þ½Ã¡°ú ÇǾî Åõ ÇÇ¾î ¸Þ½Ã¡ ºñ±³
¿£ÅÍÇÁ¶óÀÌÁî ¸Þ½Ã¡ÀÇ ±ÇÀåµÇ´Â Á¢±Ù ¹æ½ÄÀÎ Áß¾Ó ÁýÁᫎ ½Ã½ºÅÛ¿¡¼ ¸Þ½ÃÁö ¼ºñ½º´Â ±¸¼º ¿ä¼Ò °£¿¡ ¸Þ½ÃÁö °æ·Î ÁöÁ¤ ¹× Àü´ÞÀ» Á¦°øÇÏ°í ¾ÈÁ¤ÀûÀÎ Àü´Þ ¹× º¸¾ÈÀ» ´ã´çÇÕ´Ï´Ù. ÀÌ ½Ã½ºÅÛÀÇ ±¸¼º ¿ä¼Ò´Â ´À½¼ÇÏ°Ô °áÇյǾî ÀÖÀ¸¹Ç·Î ºñµ¿±â½Ä ¸Þ½Ã¡À» ´Þ¼ºÇϱ⠽±½À´Ï´Ù.
¸Þ½Ã¡ ±¸¼º ¿ä¼Ò°¡ ½Ã½ºÅÛ¿¡ Ãß°¡µÇ¸é ¼±ÇüÀûÀ¸·Î ¿¬°á ¼ö°¡ Áõ°¡µÇ¹Ç·Î, ¸Þ½ÃÁö ¼ºñ½º¸¦ È®ÀåÇÏ¿© ½Ã½ºÅÛÀ» º¸´Ù ½±°Ô È®ÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. Áß¾Ó ¸Þ½ÃÁö ¼ºñ½º´Â ¸Þ½Ã¡ Ŭ¶óÀÌ¾ðÆ®¸¦ ¿¬°áÇÒ »Ó¸¸ ¾Æ´Ï¶ó µ¿ÀÛÀ» ±¸¼ºÇÏ°í ¼º´ÉÀ» ¸ð´ÏÅÍÇÏ¸ç ¼ºñ½º¸¦ Á¶Á¤ÇÏ¿© °¢ ¸Þ½Ã¡ Ŭ¶óÀ̾ðÆ®ÀÇ ¿ä±¸¸¦ ¸¸Á·½Ãų ¼ö ÀÖ´Â °ü¸® ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÕ´Ï´Ù.
±âº» ¸Þ½ÃÁö ¼ºñ½º ±¸Á¶
Áß¾Ó ÁýÁᫎ ¸Þ½Ã¡ ½Ã½ºÅÛÀÇ ±âº» ±¸Á¶´Â ±×¸² 1-2¿Í °°À¸¸ç ÀÏ¹Ý ¸Þ½ÃÁö ¼ºñ½º¸¦ ÅëÇØ ¸Þ½ÃÁö¸¦ ±³È¯ÇÏ´Â ¸Þ½ÃÁö »ý¼ºÀÚ¿Í ¸Þ½ÃÁö »ç¿ëÀÚ·Î ±¸¼ºµË´Ï´Ù. ¸Þ½ÃÁö »ý¼ºÀÚ¿Í »ç¿ëÀÚ´Â ±× ¼öÀÇ Á¦ÇÑ ¾øÀÌ µ¿ÀÏÇÑ ¸Þ½Ã¡ ±¸¼º ¿ä¼Ò(¶Ç´Â ÀÀ¿ë ÇÁ·Î±×·¥)¿¡ À§Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¸Þ½ÃÁö »ý¼ºÀÚ´Â ¸Þ½ÃÁö ¼ºñ½º ÇÁ·Î±×·¡¹Ö API¸¦ »ç¿ëÇÏ¿© ¸Þ½ÃÁö¸¦ ¸Þ½ÃÁö ¼¹ö·Î Àü¼ÛÇÕ´Ï´Ù. ¸Þ½ÃÁö ¼¹ö´Â ¸Þ½ÃÁö¿¡ ´ëÇØ ÀÎÅÍ·¹½ºÆ®¸¦ µî·ÏÇÑ Çϳª ÀÌ»óÀÇ ¸Þ½ÃÁö »ç¿ëÀÚ¿¡°Ô ¸Þ½ÃÁö¸¦ °æ·Î ÁöÁ¤Çϰí Àü´ÞÇÕ´Ï´Ù. »ç¿ëÀÚ´Â ¸Þ½ÃÁö ¼ºñ½º ÇÁ·Î±×·¡¹Ö API¸¦ »ç¿ëÇÏ¿© ¸Þ½ÃÁö¸¦ ¼ö½ÅÇÕ´Ï´Ù. ¸Þ½ÃÁö ¼ºñ½º´Â °ü·ÃµÈ ¸ðµç »ç¿ëÀÚ¿¡°Ô ¸Þ½ÃÁö°¡ Àü´ÞµÇµµ·Ï º¸ÀåÇÏ´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù.
±×¸² 1-2 ¸Þ½ÃÁö ¼ºñ½º ±¸Á¶
ÀÌ ÇÁ·Î¼¼½º¸¦ ÀºÀ¯ÀûÀ¸·Î Ç¥ÇöÇÒ ¶§ °¡Àå ÀûÀýÇÑ Ç¥ÇöÀº ÆíÁö ±³È¯À̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÆíÁö°¡ ÃÖÁ¾ ¼ö½ÅÀÚÀÇ ÁÖ¼Ò·Î ÁöÁ¤µÇ¾î À־ ÆíÁö´Â ¿ìü±¹À» ÅëÇØ ¹ß¼ÛµÇ¹Ç·Î ¼ö½ÅÀÎÀÌ ¿ìÆíÇÔÀ» ÅëÇØ ¹Þ¾Æº¼ ¶§±îÁö ¿©·¯ Áß°£ À§Ä¡¿¡ ¸Ó¹°°Ô µË´Ï´Ù.
JMS(Java Message Service) ±âÃÊMessage Queue´Â JMS(Java Message Service) °³¹æÇü Ç¥ÁØÀ» ±¸ÇöÇÏ´Â ¿£ÅÍÇÁ¶óÀÌÁî ¸Þ½Ã¡ ½Ã½ºÅÛ Áï, JMS °ø±ÞÀÚÀÔ´Ï´Ù. µû¶ó¼ JMS °³³äÀº Message Queue ¼ºñ½ºÀÇ ÀÛ¾÷ ¹æ½ÄÀ» ÀÌÇØÇÏ´Â µ¥ ±âº»ÀÌ µË´Ï´Ù.
JMS »ç¾çÀº ¾ÈÁ¤ÀûÀÎ ºñµ¿±â½Ä ¸Þ½Ã¡¿¡ Àû¿ëµÇ´Â ÀÏ·ÃÀÇ ±ÔÄ¢°ú ÀǹÌÀÇ ÁýÇÕÀ» ±ÔÁ¤ÇÏ¸ç ¸Þ½ÃÁö ±¸Á¶, ÇÁ·Î±×·¡¹Ö ¸ðµ¨ ¹× API¸¦ Á¤ÀÇÇÕ´Ï´Ù.
ÀÌ Àý¿¡¼´Â ÀÌ Ã¥ÀÇ ³ª¸ÓÁö ÀåÀ» ÀÌÇØÇÏ´Â µ¥ ÇÊ¿äÇÑ JMS °³³ä ¹× ¿ë¾î¸¦ ¼³¸íÇÕ´Ï´Ù. ÀÌ ÀýÀº ´ÙÀ½ ³»¿ëÀ¸·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù.
JMS ¸Þ½ÃÁö ±¸Á¶
Message Queue¿¡¼ µ¥ÀÌÅÍ´Â JMS ¸Þ½ÃÁö¸¦ »ç¿ëÇÏ¿© ±³È¯µË´Ï´Ù. JMS »ç¾ç¿¡ µû¶ó »ý¼ºÀÚ Å¬¶óÀÌ¾ðÆ®¿¡ ÀÇÇØ ÀÛ¼ºµÈ ¸Þ½ÃÁö´Â Çì´õ, µî·Ï Á¤º¸ ¹× º»¹® µî ¼¼ ºÎºÐÀ¸·Î ±¸¼ºµË´Ï´Ù.
Çì´õ
Çì´õ´Â ¸ðµç JMS ¸Þ½ÃÁö¿¡¼ ÇʼöÀÔ´Ï´Ù. Çì´õ Çʵ忡´Â ¸Þ½ÃÁö °æ·Î ÁöÁ¤ ¹× ½Äº°¿¡ »ç¿ëµÇ´Â °ªÀÌ Æ÷ÇԵ˴ϴÙ.
Çì´õ °ªÀº ´ÙÀ½°ú °°Àº ¿©·¯ °¡Áö ¹æ¹ýÀ¸·Î ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
JMS¿¡ ÀÇÇØ Á¤ÀÇµÈ Çì´õ Çʵ忡 ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Message Queue Developer’s Guide for Java Clients ¶Ç´Â Message Queue Developer’s Guide for C Clients¸¦ ÂüÁ¶ÇϽʽÿÀ. ÀÌ·¯ÇÑ Çì´õ Çʵ带 »ç¿ëÇÏ¿© ¸Þ½ÃÁöÀÇ ´ë»ó, ¸¸·á ½Ã°£, ¸Þ½ÃÁö ¿ì¼± ¼øÀ§ µîÀ» Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù.
µî·Ï Á¤º¸
¸Þ½ÃÁö´Â µî·Ï Á¤º¸¶ó´Â ¼±ÅÃÀû Çì´õ Çʵ带 Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù. µî·Ï Á¤º¸´Â µî·Ï Á¤º¸ À̸§°ú µî·Ï Á¤º¸ °ª ½ÖÀ¸·Î ÁöÁ¤µË´Ï´Ù. ¸Þ½ÃÁö Çì´õÀÇ È®ÀåÀ¸·Î »ý°¢ÇÒ ¼ö ÀÖ´Â µî·Ï Á¤º¸´Â µ¥ÀÌÅ͸¦ ÀÛ¼ºÇÑ ÇÁ·Î¼¼½º¿¡ ´ëÇÑ Á¤º¸, µ¥ÀÌÅͰ¡ ÀÛ¼ºµÈ ½Ã°£ ¹× µ¥ÀÌÅÍ °¢ ºÎºÐÀÇ ±¸Á¶¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ JMS °ø±ÞÀÚ´Â ¸Þ½ÃÁöÀÇ ¾ÐÃà ¿©ºÎ ¶Ç´Â ¼ö¸íÀÌ ´ÙÇßÀ» ¶§ ¸Þ½ÃÁö ó¸® ¹æ¹ý µî ¸Þ½ÃÁö 󸮿¡ ¿µÇâÀ» ¹ÌÄ¡´Â µî·Ï Á¤º¸¸¦ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
JMS °ø±ÞÀÚ´Â ¸Þ½ÃÁö µî·Ï Á¤º¸¸¦ ¼±Åñâ·Î »ç¿ëÇÏ¿© ¸Þ½ÃÁö¸¦ Á¤·ÄÇÏ°í °æ·Î ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. »ý¼ºÀÚ Å¬¶óÀÌ¾ðÆ®´Â ¸Þ½ÃÁö¿¡ ÀÀ¿ë ÇÁ·Î±×·¥º° µî·Ï Á¤º¸¸¦ Æ÷ÇÔ½Ãų ¼ö ÀÖÀ¸¸ç »ç¿ëÀÚ Å¬¶óÀÌ¾ðÆ®´Â µî·Ï Á¤º¸°¡ ƯÁ¤ °ªÀ» °®´Â ¸Þ½ÃÁö¸¸ ¼ö½ÅÇϵµ·Ï ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, »ç¿ëÀÚ Å¬¶óÀÌ¾ðÆ®´Â ´ºÀúÁö¿¡ ÀÖ´Â ½Ã°£Á¦ Á÷¿ø¿¡ ´ëÇÑ ±Þ¿© ¸Þ½ÃÁö¿¡ ´ëÇØ¼¸¸ °ü½É ºÐ¾ß¸¦ Ç¥½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ÁöÁ¤µÈ ¼±Åà ±âÁØÀ» ¸¸Á·ÇÏÁö ¾Ê´Â ¸Þ½ÃÁö´Â Ŭ¶óÀÌ¾ðÆ®·Î Àü´ÞµÇÁö ¾Ê½À´Ï´Ù.
¼±Åñâ´Â »ç¿ëÀÚ Å¬¶óÀÌ¾ðÆ® ÀÛ¾÷À» °£¼ÒÈÇϰí ÇØ´ç ¸Þ½ÃÁö°¡ ÇÊ¿äÇÏÁö ¾ÊÀº Ŭ¶óÀÌ¾ðÆ®·Î ¸Þ½ÃÁö¸¦ Àü´ÞÇÏ´Â ¿À¹öÇìµå¸¦ ¾ø¾Û´Ï´Ù. ±×·¯³ª ¼±Åà ±âÁØÀ» ó¸®ÇØ¾ß ÇÏ´Â ¸Þ½ÃÁö ¼ºñ½º¿¡ ÀϺΠ¿À¹öÇìµå°¡ Ãß°¡µË´Ï´Ù. ¸Þ½ÃÁö ¼±Åñ⠱¸¹®°ú Àǹ̴ JMS »ç¾ç¿¡ ¼³¸íµÇ¾î ÀÖ½À´Ï´Ù.
¸Þ½ÃÁö º»¹® À¯Çü
JMS ¸Þ½ÃÁöÀÇ À¯ÇüÀº Ç¥ 1-1¿¡ ÁöÁ¤µÈ ´ë·Î º»¹®ÀÇ ³»¿ëÀ» °áÁ¤ÇÕ´Ï´Ù.
JMS ÇÁ·Î±×·¡¹Ö ¸ðµ¨
JMS ÇÁ·Î±×·¡¹Ö ¸ðµ¨Àº ºñµ¿±â½Ä ¸Þ½Ã¡ ¼ºñ½ºÀÇ ±¸Á¶¸¦ Áö¿øÇÕ´Ï´Ù. JMS Ŭ¶óÀÌ¾ðÆ®´Â JMS ¸Þ½ÃÁö ¼ºñ½º¸¦ ÅëÇØ ¸Þ½ÃÁö¸¦ ±³È¯ÇÕ´Ï´Ù. JMS °ø±ÞÀÚ´Â JMS ¸Þ½Ã¡À» ¼öÇàÇÏ´Â µ¥ ÇÊ¿äÇÑ °´Ã¼¸¦ ÁغñÇÕ´Ï´Ù. ÀÌ·¯ÇÑ °´Ã¼´Â JMS API(Application Programming Interface)¸¦ ±¸ÇöÇÕ´Ï´Ù.
ÀÌ Àý¿¡¼´Â JMS ¸Þ½Ã¡¿¡ ÇÊ¿äÇÑ ÇÁ·Î±×·¡¹Ö °´Ã¼¸¦ ¼³¸íÇÏ°í ¸Þ½ÃÁö¸¦ ¼Û¼ö½ÅÇÏ´Â µ¥ »ç¿ëµÇ´Â Àü´Þ ¸ðµ¨(ÁöÁ¡°£ ¹× °Ô½Ã/°¡ÀÔ)À» ¼Ò°³ÇÕ´Ï´Ù.
ÇÁ·Î±×·¡¹Ö °´Ã¼
¸Þ½ÃÁö Àü´ÞÀ» À§ÇØ JMS Ŭ¶óÀÌ¾ðÆ® ¼³Á¤¿¡ »ç¿ëµÇ´Â °´Ã¼´Â ±×¸² 1-3¿¡ ³ª¿Í ÀÖ½À´Ï´Ù.
±×¸² 1-3 JMS ÇÁ·Î±×·¡¹Ö °´Ã¼
JMS ÇÁ·Î±×·¡¹Ö ¸ðµ¨¿¡¼ JMS Ŭ¶óÀÌ¾ðÆ®´Â ¿¬°á ÆÑÅ丮°´Ã¼(ConnectionFactory)¸¦ »ç¿ëÇÏ¿© JMS ¸Þ½ÃÁö ¼¹ö¿Í ¸Þ½ÃÁö¸¦ ¼Û¼ö½ÅÇÒ ¿¬°áÀ» ¸¸µì´Ï´Ù. ¿¬°á °´Ã¼(Connection)´Â Ŭ¶óÀÌ¾ðÆ®¿Í ¸Þ½ÃÁö ¼¹ö °£ÀÇ È°¼º ¿¬°áÀ» ³ªÅ¸³À´Ï´Ù.
¿¬°áµÇ¸é Åë½Å ÀÚ¿ø ÇÒ´ç ¹× Å¬¶óÀÌ¾ðÆ® ÀÎÁõÀÌ ÀÌ·ç¾îÁý´Ï´Ù. ÀÌ´Â ºñ±³Àû Áß·®±Þ °´Ã¼ÀÌ¸ç ´ëºÎºÐÀÇ Å¬¶óÀÌ¾ðÆ®´Â ´ÜÀÏ ¿¬°áÀ» »ç¿ëÇÏ¿© ¸ðµç ¸Þ½Ã¡À» ¼öÇàÇÕ´Ï´Ù.
¿¬°áÀº ¼¼¼Ç °´Ã¼(Session)¸¦ »ý¼ºÇÒ ¶§ »ç¿ëÇÕ´Ï´Ù. ¼¼¼ÇÀº ¸Þ½ÃÁö »ý¼º ¹× »ç¿ëÀ» À§ÇÑ ´ÜÀÏ ½º·¹µå ÄÁÅØ½ºÆ®ÀÔ´Ï´Ù. ¸Þ½ÃÁö »ý¼ºÀ» ºñ·ÔÇÏ¿© ¸Þ½ÃÁö¸¦ º¸³»°í ¹Þ´Â ¸Þ½ÃÁö »ý¼ºÀÚ ¹× »ç¿ëÀÚ¸¦ »ý¼ºÇÒ ¶§ »ç¿ëÇϸç, Àü´ÞÇÒ ¸Þ½ÃÁöÀÇ ÀÏ·Ã ¼ø¼¸¦ Á¤ÀÇÇÕ´Ï´Ù. ¼¼¼ÇÀº ¿©·¯ °ü¸® ´ë»ó °´Ã¼ ¿É¼ÇÀ̳ª Æ®·£Àè¼ÇÀ» ÅëÇØ ¾ÈÁ¤ÀûÀÎ Àü´ÞÀ» Áö¿øÇÕ´Ï´Ù.
Ŭ¶óÀÌ¾ðÆ®´Â ¸Þ½ÃÁö »ý¼ºÀÚ °´Ã¼(MessageProducer)¸¦ »ç¿ëÇÏ¿© API¿¡¼ ´ë»ó °´Ã¼·Î Ç¥½ÃµÇ´Â ÁöÁ¤µÈ ¹°¸®Àû ´ë»óÀ¸·Î ¸Þ½ÃÁö¸¦ º¸³À´Ï´Ù. ¸Þ½ÃÁö »ý¼ºÀÚ´Â »ý¼ºÀÚ°¡ ¹°¸®Àû ´ë»óÀ¸·Î º¸³¾ ¸ðµç ¸Þ½ÃÁö¿¡ Àû¿ëµÇ´Â Àü´Þ ¸ðµå(Áö¼Ó¼º ¸Þ½ÃÁö ¹× ºñÁö¼Ó¼º ¸Þ½ÃÁö), ¿ì¼± ¼øÀ§ ¹× ¼ö¸í °ª°ú °°Àº ±âº» ¸Þ½ÃÁö Çì´õ °ªÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
±×¿Í ºñ½ÁÇÏ°Ô Å¬¶óÀÌ¾ðÆ®´Â ¸Þ½ÃÁö »ç¿ëÀÚ °´Ã¼(MessageConsumer)¸¦ »ç¿ëÇÏ¿© API¿¡¼ ´ë»ó °´Ã¼·Î Ç¥½ÃµÇ´Â ÁöÁ¤µÈ ¹°¸®Àû ´ë»óÀ¸·ÎºÎÅÍ ¸Þ½ÃÁö¸¦ ¹Þ½À´Ï´Ù. ¸Þ½ÃÁö Àü´Þ ¸ðµ¨¿¡ µû¶ó Queue¿Í TopicÀÇ 2°¡Áö ´ë»ó À¯ÇüÀÌ ÀÖ½À´Ï´Ù.
¸Þ½ÃÁö »ç¿ëÀÚ´Â ¸Þ½ÃÁö ¼±Åñ⸦ »ç¿ëÇÏ¿© ¸Þ½ÃÁö ¼ºñ½º°¡ ƯÁ¤ ¼±Åà ±âÁذú ÀÏÄ¡ÇÏ´Â µî·Ï Á¤º¸¸¦ °®´Â ¸Þ½ÃÁö¸¸ Àü´ÞÇϵµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¸Þ½ÃÁö »ç¿ëÀÚ´Â µ¿±â½Ä ¶Ç´Â ºñµ¿±â½Ä ¸Þ½ÃÁö »ç¿ëÀ» Áö¿øÇÒ ¼ö ÀÖ½À´Ï´Ù.
- µ¿±â½Ä »ç¿ëÀº »ç¿ëÀÚ°¡ ¸Þ½ÃÁö Àü´ÞÀ» ¸í½ÃÀûÀ¸·Î ¿äûÇÑ ´ÙÀ½ ¸Þ½ÃÁö¸¦ »ç¿ëÇØ¾ß ÇÔÀ» ÀǹÌÇÕ´Ï´Ù.
- ºñµ¿±â½Ä »ç¿ëÀº ¸Þ½ÃÁö°¡ »ç¿ëÀÚ¿ëÀ¸·Î µî·ÏµÈ ¸Þ½ÃÁö ¼ö½Å±â °´Ã¼(MessageListener)·Î ÀÚµ¿ Àü´ÞµÊÀ» ÀǹÌÇÕ´Ï´Ù. ¼¼¼Ç ½º·¹µå°¡ ¸Þ½ÃÁö ¼ö½Å±â °´Ã¼ÀÇ onMessage() ¸Þ¼Òµå¸¦ È£ÃâÇϸé Ŭ¶óÀÌ¾ðÆ®°¡ ÇÑ ¸Þ½ÃÁö¸¦ »ç¿ëÇÕ´Ï´Ù.
ÇÁ·Î±×·¡¹Ö µµ¸ÞÀÎ: ¸Þ½ÃÁö Àü´Þ ¸ðµ¨
JMS´Â ¼·Î ´Ù¸¥ 2°¡Áö ¸Þ½ÃÁö Àü´Þ ¸ðµ¨ÀÎ ÁöÁ¡°£ ¸ðµ¨°ú °Ô½Ã/°¡ÀÔ ¸ðµ¨À» Áö¿øÇÕ´Ï´Ù.
ÁöÁ¡°£(Queue ´ë»ó) ¸Þ½ÃÁö´Â »ý¼ºÀڷκÎÅÍ ´ÜÀÏ »ç¿ëÀÚ¿¡°Ô Àü´ÞµË´Ï´Ù. ÀÌ Àü´Þ ¸ðµ¨¿¡¼ ´ë»ó À¯ÇüÀº ´ë±â¿(Queue)ÀÔ´Ï´Ù. ¸Þ½ÃÁö´Â ¸ÕÀú ´ë±â¿ ´ë»óÀ¸·Î Àü´ÞµÈ ´ÙÀ½, ´ë±â¿·ÎºÎÅÍ ÇØ´ç ´ë±â¿¿¡ µî·ÏµÈ »ç¿ëÀÚ Áß Çϳª¿¡°Ô ÇÑ ¹ø¿¡ Çϳª¾¿ Àü´ÞµË´Ï´Ù. »ý¼ºÀÚ ¼öÀÇ Á¦ÇÑ ¾øÀÌ »ý¼ºÀÚ´Â ´ë±â¿ ´ë»ó¿¡°Ô ¸Þ½ÃÁö¸¦ º¸³¾ ¼ö ÀÖÀ¸¸ç, °¢ ¸Þ½ÃÁö´Â ¹Ýµå½Ã ÇÑ »ç¿ëÀÚ¿¡°Ô¸¸ Àü´ÞµÇ¾î ¼º°øÀûÀ¸·Î »ç¿ëµË´Ï´Ù. ´ë±â¿ ´ë»ó¿¡ µî·ÏµÈ »ç¿ëÀÚ°¡ ¾ø´Â °æ¿ì, ´ë±â¿Àº ¹ÞÀº ¸Þ½ÃÁö¸¦ º¸°üÇß´Ù°¡ »ç¿ëÀÚ°¡ ´ë±â¿¿¡ µî·ÏÇÏ¸é ¸Þ½ÃÁö¸¦ Àü´ÞÇÕ´Ï´Ù.
°Ô½Ã/°¡ÀÔ(Topic ´ë»ó) ´ÜÀÏ »ý¼ºÀÚ°¡ »ç¿ëÀÚ ¼öÀÇ Á¦ÇÑ ¾øÀÌ ¸Þ½ÃÁö¸¦ Àü´ÞÇÕ´Ï´Ù. ÀÌ Àü´Þ ¸ðµ¨¿¡¼ ´ë»ó À¯ÇüÀº ÁÖÁ¦(Topic)ÀÔ´Ï´Ù. ¸Þ½ÃÁö´Â ¸ÕÀú ÁÖÁ¦ ´ë»óÀ¸·Î Àü´ÞµÈ ´ÙÀ½, ÇØ´ç ÁÖÁ¦¿¡ °¡ÀÔÇÑ ¸ðµç Ȱ¼º »ç¿ëÀÚ¿¡°Ô Àü´ÞµË´Ï´Ù. »ý¼ºÀÚ ¼öÀÇ Á¦ÇÑ ¾øÀÌ »ý¼ºÀڴ ƯÁ¤ ÁÖÁ¦ ´ë»óÀ¸·Î ¸Þ½ÃÁö¸¦ º¸³¾ ¼ö ÀÖÀ¸¸ç, °¢ ¸Þ½ÃÁö´Â °¡ÀÔÇÑ »ç¿ëÀÚ ¼öÀÇ Á¦ÇÑ ¾øÀÌ Àü´ÞµÉ ¼ö ÀÖ½À´Ï´Ù.
¶ÇÇÑ ÁÖÁ¦ ´ë»óÀº ¿µ±¸ °¡ÀÔÀ» Áö¿øÇÕ´Ï´Ù. ¿µ±¸ °¡ÀÔÀº ÁÖÁ¦ ´ë»ó¿¡ µî·ÏµÇ¾úÁö¸¸ ¸Þ½ÃÁö°¡ ´ë»ó¿¡ µµ´ÞÇÏ´Â ½ÃÁ¡¿¡ ºñȰ¼ºµÉ ¼ö ÀÖ´Â »ç¿ëÀÚ¸¦ ÀǹÌÇÕ´Ï´Ù. ³ªÁß¿¡ Ȱ¼ºÈµÈ »ç¿ëÀÚ´Â ¸Þ½ÃÁö¸¦ ¼ö½ÅÇÕ´Ï´Ù. ÁÖÁ¦ ´ë»ó¿¡ ´ëÇØ µî·ÏµÈ »ç¿ëÀÚ°¡ ¾ø´Â °æ¿ì, ÇØ´ç ÁÖÁ¦´Â ¿µ±¸ °¡ÀÔÀÌ ÀÖ´Â ºñȰ¼º »ç¿ëÀÚ¿¡ ´ëÇØ¼¸¸ ¸Þ½ÃÁö¸¦ º¸°üÇÕ´Ï´Ù.
ÀÌ·¯ÇÑ 2°¡Áö ¸Þ½ÃÁö Àü´Þ ¸ðµ¨Àº Ç¥ 1-2¿¡ Ç¥½ÃµÈ, ¼·Î Á¶±Ý¾¿ ´Ù¸¥ Àǹ̸¦ °®´Â ´Ù¸¥ ÇÁ·Î±×·¡¹Ö µµ¸ÞÀÎÀ» ³ªÅ¸³»´Â 3°¡Áö API °´Ã¼ ÁýÇÕÀ» »ç¿ëÇÏ¿© 󸮵˴ϴÙ.
Ç¥ 1-2 JMS ÇÁ·Î±×·¡¹Ö µµ¸ÞÀÎ ¹× °´Ã¼
±âº» À¯Çü
(ÅëÇÕ µµ¸ÞÀÎ)
ÁöÁ¡°£ µµ¸ÞÀÎ
°Ô½Ã/°¡ÀÔ µµ¸ÞÀÎDestination (Queue ¶Ç´Â Topic)1
Queue
Topic
ConnectionFactory
QueueConnectionFactory
TopicConnectionFactory
Connection
QueueConnection
TopicConnection
Session
QueueSession
TopicSession
MessageProducer
QueueSender
TopicPublisher
MessageConsumer
QueueReceiver
TopicSubscriber
1ÇÁ·Î±×·¡¹Ö ¹æ½Ä¿¡ µû¶ó ƯÁ¤ ´ë»ó À¯ÇüÀ» ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù.
ÅëÇÕ µµ¸ÞÀÎÀº JMS ¹öÀü 1.1¿¡¼ ¼Ò°³µÇ¾ú½À´Ï´Ù. 1.02b ÀÌÀü »ç¾çÀ» ÁؼöÇØ¾ß ÇÒ °æ¿ì µµ¸ÞÀκ° API¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ µµ¸ÞÀκ° API¸¦ »ç¿ëÇÏ¸é ´ë±â¿ ´ë»ó¿¡ ´ëÇÑ ¿µ±¸ °¡ÀÔÀÚ ÀÛ¼º µîÀÇ Æ¯Á¤ À¯Çü ÇÁ·Î±×·¡¹Ö ¿À·ù¸¦ ¹æÁöÇÏ´Â ±ú²ýÇÑ ÇÁ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽ºÀÇ ÀåÁ¡ÀÌ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ µµ¸ÞÀκ° API´Â µ¿ÀÏÇÑ Æ®·£Àè¼ÇÀ̳ª µ¿ÀÏÇÑ ¼¼¼Ç¿¡¼ ÁöÁ¡°£ ¹× °Ô½Ã/°¡ÀÔ ÀÛ¾÷À» °áÇÕÇÒ ¼ö ¾ø´Ù´Â ´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ °áÇÕÀÌ ÇÊ¿äÇÑ °æ¿ì ÅëÇÕ µµ¸ÞÀÎ API¸¦ ¼±ÅÃÇϽʽÿÀ.
Message Queue Á¦Ç°¿¡ Æ÷ÇÔµÈ ¿¹Á¦ ÀÀ¿ëÇÁ·Î±×·¥À» ºñ·ÔÇÑ Message Queue ¼³¸í¼ÀÇ ¸¹Àº ÄÚµå ¿¹Á¦´Â °³º° ÇÁ·Î±×·¡¹Ö µµ¸ÞÀÎÀ» »ç¿ëÇÕ´Ï´Ù.
¾ÈÁ¤ÀûÀÎ ¸Þ½Ã¡
¸Þ½ÃÁöÀÇ Àü´Þ ¸ðµå´Â Áö¼Ó¼º ¶Ç´Â ºñÁö¼Ó¼ºÀ¸·Î ¼³Á¤µÉ ¼ö ÀÖÀ¸¸ç ÀÌ ¸ðµå¿¡¼ ¸Þ½ÃÁö Àü´ÞÀÇ ¾ÈÁ¤¼ºÀ» °ü¸®ÇÕ´Ï´Ù.
- Áö¼Ó¼º ¸Þ½ÃÁö´Â ´Ü ÇÑ Â÷·Ê Àü´Þ ¹× ¼º°øÀûÀÎ »ç¿ëÀÌ º¸ÀåµË´Ï´Ù. Áö¼Ó¼º ¸Þ½ÃÁö´Â ¸Þ½ÃÁö ¼ºñ½º ¿À·ù ¹ß»ý ½Ã¿¡µµ ¼Õ½ÇµÇÁö ¾Ê½À´Ï´Ù. ÀÌ ¸Þ½ÃÁö¿¡¼´Â ¾ÈÁ¤¼ºÀÌ Áß¿äÇÕ´Ï´Ù.
- ºñÁö¼Ó¼º ¸Þ½ÃÁö´Â ÃÖ´ë ÇÑ Â÷·Ê Àü´ÞÀÌ º¸ÀåµË´Ï´Ù. ºñÁö¼Ó¼º ¸Þ½ÃÁö´Â ¸Þ½ÃÁö ¼ºñ½º ¿À·ù ¹ß»ý ½Ã ¼Õ½ÇµË´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ½ÃÁöÀÇ °æ¿ì ¾ÈÁ¤¼ºÀº Áß¿äÇÑ »çÇ×ÀÌ ¾Æ´Õ´Ï´Ù.
Áö¼Ó¼º ¸Þ½ÃÁöÀÇ °æ¿ì ¾ÈÁ¤¼º º¸Àå¿¡´Â 2°¡Áö Ãø¸éÀÌ ÀÖ½À´Ï´Ù. Çϳª´Â È®Àΰú Æ®·£Àè¼ÇÀ» »ç¿ëÇÏ¿© ¸Þ½ÃÁö »ý¼º ¹× »ç¿ëÀÌ ¼º°øÀûÀ¸·Î ÀÌ·ç¾îÁö°Ô ÇÏ´Â °ÍÀÔ´Ï´Ù. ´Ù¸¥ Çϳª´Â Áö¼Ó¼º ÀúÀå¼Ò¿¡ ¸Þ½ÃÁö¸¦ º¸°üÇÏ¿© ¸Þ½ÃÁö¸¦ »ç¿ëÀÚ¿¡°Ô Àü´ÞÇÒ ¶§±îÁö ¸Þ½ÃÁö ¼ºñ½º¿¡¼ Áö¼Ó¼º ¸Þ½ÃÁö°¡ ¼Õ½ÇµÇÁö ¾Ê°Ô ÇÏ´Â °ÍÀÔ´Ï´Ù.
´ÙÀ½ Àý¿¡¼´Â ¾ÈÁ¤¼ºÀ» º¸ÀåÇÏ´Â ÀÌ·¯ÇÑ 2°¡Áö Ãø¸é¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
È®ÀÎ/Æ®·£Àè¼Ç
¾ÈÁ¤ÀûÀÎ ¸Þ½Ã¡Àº ¸Þ½ÃÁö »ý¼ºÀÚ¿¡¼ ¸Þ½ÃÁö ¼¹öÀÇ ¹°¸®Àû ´ë»óÀ¸·Î, ±×¸®°í ÇØ´ç ¹°¸®Àû ´ë»ó¿¡¼ ¸Þ½ÃÁö »ç¿ëÀÚ¿¡°Ô·Î Áö¼Ó¼º ¸Þ½ÃÁö°¡ ¼º°øÀûÀ¸·Î Àü´ÞµÉ ¼ö ÀÖ´ÂÁö ¿©ºÎ¿¡ µû¶ó °áÁ¤µË´Ï´Ù. ÀÌ·¯ÇÑ ¾ÈÁ¤¼ºÀº JMS ¼¼¼ÇÀÌ Áö¿øÇÏ´Â 2°¡Áö ÀÏ¹Ý ¸ÞÄ¿´ÏÁòÀÎ °ü¸® ´ë»ó °´Ã¼ ¶Ç´Â Æ®·£Àè¼Ç Áß Çϳª¸¦ »ç¿ëÇÏ¿© ½ÇÇöÇÒ ¼ö ÀÖ½À´Ï´Ù. Æ®·£Àè¼ÇÀÇ °æ¿ì, ·ÎÄà Ʈ·£Àè¼Ç ¶Ç´Â ºÐ»ê(ºÐ»ê Æ®·£Àè¼Ç °ü¸®ÀÚÀÇ Á¦¾î ÇÏ¿¡¼) Æ®·£Àè¼ÇÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù.
È®ÀÎ
È®ÀÎÀº ¾ÈÁ¤ÀûÀÎ Àü´ÞÀ» À§ÇØ Å¬¶óÀÌ¾ðÆ®¿Í ¸Þ½ÃÁö ¼ºñ½º °£¿¡ Àü¼ÛµÇ´Â ¸Þ½ÃÁöÀÔ´Ï´Ù.
¸Þ½ÃÁö »ý¼º ½Ã, ¸Þ½ÃÁö ¼ºñ½º´Â ¸Þ½ÃÁö Àü´ÞÀ» ¼ö½ÅÇÏ°í ¸Þ½ÃÁö¸¦ ´ë»ó¿¡ ³Ö°í ¿µ±¸ÀûÀ¸·Î ÀúÀåÇßÀ½À» È®ÀÎÇÕ´Ï´Ù. »ý¼ºÀÚÀÇ send() ¸Þ¼Òµå´Â È®ÀÎÀÌ ¹ÝȯÇÒ ¶§±îÁö Â÷´ÜµË´Ï´Ù.
¸Þ½ÃÁö »ç¿ë ½Ã, Ŭ¶óÀÌ¾ðÆ®°¡ ´ë»óÀ¸·ÎºÎÅÍÀÇ ¸Þ½ÃÁö Àü´ÞÀ» ¼ö½ÅÇÏ°í ¸Þ½ÃÁö¸¦ »ç¿ëÇßÀ½À» È®ÀÎÇÑ ´ÙÀ½ ¸Þ½ÃÁö ¼ºñ½º°¡ ÇØ´ç ´ë»ó¿¡¼ ¸Þ½ÃÁö¸¦ »èÁ¦ÇÕ´Ï´Ù. JMS´Â ´Ù¾çÇÑ ¾ÈÁ¤¼º Á¤µµ¸¦ ³ªÅ¸³»´Â ´Ù¾çÇÑ È®ÀÎ ¸ðµå¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¸ðµå Áß ÀϺο¡¼´Â ¸Þ½ÃÁö ¼¹ö°¡ ¸Þ½ÃÁö¸¦ »èÁ¦ÇÏ¿© ¸Þ½ÃÁö¸¦ ´Ù½Ã Àü´ÞÇÒ ¼ö ¾øÀ½À» È®ÀÎÇÒ ¶§±îÁö Ŭ¶óÀÌ¾ðÆ®´Â ¸Þ½ÃÁö ¼¹ö¿¡ ´ëÇÑ ´ë±â¸¦ Â÷´ÜÇÕ´Ï´Ù.
·ÎÄà Ʈ·£Àè¼Ç
¼¼¼ÇÀ» Æ®·£Àè¼ÇµÈ °ÍÀ¸·Î ±¸¼ºÇÒ ¼ö Àִµ¥, ÀÌ °æ¿ì Çϳª ÀÌ»óÀÇ ¸Þ½ÃÁö »ý¼º ¹×/¶Ç´Â »ç¿ëÀ» Æ®·£Àè¼ÇÀ̶ó´Â ±âº» ´ÜÀ§·Î ºÐ·ùÇÒ ¼ö ÀÖ½À´Ï´Ù. JMS API´Â Æ®·£Àè¼ÇÀ» ½ÃÀÛ, ¿Ï°á ¶Ç´Â ·Ñ¹éÇÏ´Â ¸Þ¼Òµå¸¦ Á¦°øÇÕ´Ï´Ù.
Æ®·£Àè¼Ç ³»ºÎ¿¡¼ ¸Þ½ÃÁö¸¦ »ý¼ºÇϰųª »ç¿ëÇÏ¸é ¸Þ½ÃÁö ¼ºñ½º´Â ´Ù¾çÇÑ ¹ß½Å ¹× ¼ö½ÅÀ» ÃßÀûÇÏ¿©, JMS Ŭ¶óÀÌ¾ðÆ®°¡ Æ®·£Àè¼ÇÀ» ¿Ï°áÇϵµ·Ï È£ÃâÇÑ °æ¿ì¿¡¸¸ ÀÛ¾÷À» ¿Ï·áÇÕ´Ï´Ù. Æ®·£Àè¼Ç ³»ºÎ¿¡¼ ƯÁ¤ ¹ß½Å ¶Ç´Â ¼ö½Å ÀÛ¾÷ÀÌ ½ÇÆÐÇÒ °æ¿ì ¿¹¿Ü°¡ ¹ß»ýÇÕ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ® ÄÚµå´Â ¿¹¿Ü¸¦ ¹«½ÃÇϰųª ÀÛ¾÷À» ´Ù½Ã ½ÃµµÇϰųª Àüü Æ®·£Àè¼ÇÀ» ·Ñ¹éÇÏ´Â ¹æ¹ýÀ¸·Î ¿¹¿Ü¸¦ ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. Æ®·£Àè¼ÇÀÌ ¿Ï°áµÇ¸é ÀÛ¾÷ÀÌ ¸ðµÎ ¿Ï·áµË´Ï´Ù. Æ®·£Àè¼ÇÀÌ ·Ñ¹éµÇ¸é ¼º°øÀûÀÎ ÀÛ¾÷ÀÌ ¸ðµÎ Ãë¼ÒµË´Ï´Ù.
·ÎÄà Ʈ·£Àè¼ÇÀÇ ¹üÀ§´Â Ç×»ó ´ÜÀÏ ¼¼¼ÇÀÔ´Ï´Ù. Áï ´ÜÀÏ ¼¼¼Ç ÄÁÅØ½ºÆ®¿¡¼ ¼öÇàµÇ´Â Çϳª ÀÌ»óÀÇ »ý¼ºÀÚ ¶Ç´Â »ç¿ëÀÚ ÀÛ¾÷À» ¹¾î ´ÜÀÏ ·ÎÄà Ʈ·£Àè¼ÇÀ¸·Î ºÐ·ùÇÒ ¼ö ÀÖ½À´Ï´Ù.
Æ®·£Àè¼Ç ¹üÀ§°¡ ´ÜÀÏ ¼¼¼Ç¿¡ ±¹ÇѵǹǷΠ¸Þ½ÃÁö »ý¼º°ú »ç¿ëÀ» ¸ðµÎ ÃѰýÇÏ´Â Á¾´Ü°£ Æ®·£Àè¼ÇÀº ¸¸µé ¼ö ¾ø½À´Ï´Ù. Áï, ´ë»óÀ¸·Î ¸Þ½ÃÁö¸¦ Àü´ÞÇÏ´Â °Í°ú ³ªÁß¿¡ ¸Þ½ÃÁö¸¦ Ŭ¶óÀÌ¾ðÆ®·Î Àü´ÞÇÏ´Â °ÍÀ» °°Àº Æ®·£Àè¼ÇÀ¸·Î ºÐ·ùÇÒ ¼ö ¾ø½À´Ï´Ù.
ºÐ»ê Æ®·£Àè¼Ç
¶ÇÇÑ JMS »ç¾çÀº ºÐ»ê Æ®·£Àè¼ÇÀ» Áö¿øÇÕ´Ï´Ù. Áï ¸Þ½ÃÁö »ý¼º ¹× »ç¿ëÀº µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ°ú °°Àº ´Ù¸¥ ÀÚ¿ø °ü¸®ÀÚ°¡ °ü·ÃµÈ ÀÛ¾÷µéÀ» Æ÷ÇÔÇÏ´Â ´õ Å©°í ºÐ»êµÈ Æ®·£Àè¼ÇÀÇ ÀϺΰ¡ µÉ ¼ö ÀÖ½À´Ï´Ù. ºÐ»ê Æ®·£Àè¼ÇÀÇ °æ¿ì, ºÐ»ê Æ®·£Àè¼Ç °ü¸®ÀÚ´Â JTA(Java Transaction API)ÀÎ XA Resource API »ç¾ç¿¡ Á¤ÀÇµÈ 2´Ü°è ¿Ï°á ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏ¿© ¿©·¯ ÀÚ¿ø °ü¸®ÀÚ(¸Þ½ÃÁö ¼ºñ½º, µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ µî)°¡ ¼öÇàÇÏ´Â ÀÛ¾÷À» ÃßÀûÇÏ°í °ü¸®ÇÕ´Ï´Ù. Java¿¡¼ ÀÚ¿ø °ü¸®ÀÚ ¹× ºÐ»ê Æ®·£Àè¼Ç °ü¸®ÀÚ °£ÀÇ »óÈ£ ÀÛ¿ëÀº JTA »ç¾ç¿¡¼ ¼³¸íÇÕ´Ï´Ù.
ºÐ»ê Æ®·£Àè¼Ç Áö¿øÀº ¸Þ½Ã¡ Ŭ¶óÀÌ¾ðÆ®°¡ JTA¿¡¼ Á¤ÀÇµÈ XAResource ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ ºÐ»ê Æ®·£Àè¼Ç¿¡ Âü¿©ÇÒ ¼ö ÀÖÀ½À» ÀǹÌÇÕ´Ï´Ù. ÀÌ ÀÎÅÍÆäÀ̽º´Â 2´Ü°è ¿Ï°áÀ» ±¸ÇöÇÏ´Â ¿©·¯ ¸Þ¼Òµå¸¦ Á¤ÀÇÇÕ´Ï´Ù. Ŭ¶óÀ̾ðÆ®Ãø¿¡¼ API È£ÃâÀÌ ÀÌ·ç¾îÁö´Â µ¿¾È ºê·ÎÄ¿´Â ºÐ»ê Æ®·£Àè¼Ç ³»ºÎÀÇ ´Ù¾çÇÑ ¹ß½Å ¹× ¼ö½Å ÀÛ¾÷À» ÃßÀûÇÏ°í Æ®·£Àè¼Ç »óŸ¦ ÃßÀûÇϸç JTS(Java Transaction Service)°¡ Á¦°øÇÏ´Â ºÐ»ê Æ®·£Àè¼Ç °ü¸®ÀÚ¿ÍÀÇ Á¶Á¤À» ÅëÇØ¼¸¸ ¸Þ½Ã¡ ÀÛ¾÷À» ¿Ï·áÇÕ´Ï´Ù.
·ÎÄà Ʈ·£Àè¼Ç°ú ¸¶Âù°¡Áö·Î Ŭ¶óÀÌ¾ðÆ®´Â ¿¹¿Ü¸¦ ¹«½ÃÇϰųª ÀÛ¾÷À» ´Ù½Ã ½ÃµµÇϰųª Àüü ºÐ»ê Æ®·£Àè¼ÇÀ» ·Ñ¹éÇÏ´Â ¹æ¹ýÀ¸·Î ¿¹¿Ü¸¦ ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿µ±¸ ÀúÀå¼Ò
¾ÈÁ¤¼ºÀÇ ¶Ç ´Ù¸¥ Ãø¸éÀº ¸Þ½ÃÁö°¡ »ç¿ëÀÚ¿¡°Ô Àü´ÞµÉ ¶§±îÁö ¸Þ½ÃÁö ¼ºñ½º°¡ ¿µ±¸ ¸Þ½ÃÁö¸¦ ÀÒ¾î¹ö¸®Áö ¾Ê¾Æ¾ß ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. Áï Áö¼Ó¼º ¸Þ½ÃÁö°¡ ¹°¸®Àû ´ë»ó¿¡ Àü´ÞµÇ¸é ¸Þ½ÃÁö ¼¹ö´Â À̸¦ ¿µ±¸ µ¥ÀÌÅÍ ÀúÀå¼Ò¿¡ ÀúÀåÇØ¾ß ÇÕ´Ï´Ù. ¾î¶² ÀÌÀ¯·Î ¸Þ½ÃÁö ¼¹ö°¡ ÁߴܵǴ °æ¿ì, ¸Þ½ÃÁö ¼¹ö´Â ¸Þ½ÃÁö¸¦ º¹±¸ÇÏ¿© ÇØ´ç »ç¿ëÀÚ¿¡°Ô Àü´ÞÇÒ ¼ö ÀÖ½À´Ï´Ù.
¶ÇÇÑ ¸Þ½ÃÁö ¼¹ö´Â ¿µ±¸ °¡ÀÔµµ Áö¼ÓÀûÀ¸·Î ÀúÀåÇØ¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é, ¿À·ù ¹ß»ý ½Ã ¸Þ½ÃÁö ¼¹ö´Â ¸Þ½ÃÁö°¡ ÁÖÁ¦ ´ë»ó¿¡ µµ´ÞÇÑ ´ÙÀ½¿¡ Ȱ¼ºÈµÇ´Â ¿µ±¸ °¡ÀÔÀÚ¿¡°Ô ¸Þ½ÃÁö¸¦ Àü´ÞÇÒ ¼ö ¾ø½À´Ï´Ù.
¸Þ½ÃÁö Àü´ÞÀ» º¸ÀåÇÏ·Á´Â ¸Þ½Ã¡ ÀÀ¿ëÇÁ·Î±×·¥Àº ¸Þ½ÃÁö°¡ Áö¼Ó¼ºÀ» °®µµ·Ï ÁöÁ¤Çϰí À̵éÀ» ¿µ±¸ °¡ÀÔÀ» °®´Â ÁÖÁ¦ ´ë»óÀ̳ª ´ë±â¿ ´ë»ó Áß Çϳª·Î Àü´ÞÇØ¾ß ÇÕ´Ï´Ù.
JMS °ü¸® ´ë»ó °´Ã¼
JMS ÇÁ·Î±×·¡¹Ö ¸ðµ¨¿¡¼ »ç¿ëµÈ 2°¡Áö °´Ã¼ÀÎ ¿¬°á ÆÑÅ丮¿Í ´ë»óÀº °ø±ÞÀÚÀÇ JMS »ç¾ç ±¸Çö¿¡ µû¶ó ´Þ¶óÁú ¼ö ÀÖ½À´Ï´Ù.
Ŭ¶óÀÌ¾ðÆ® À̽ÄÀ» Çã¿ëÇÏ¸é¼ ÀÌ·¯ÇÑ °´Ã¼ Á¤ÀÇ¿¡ ÀÖ¾î¼ °ø±ÞÀÚ¿¡°Ô ÃÖ´ëÇÑÀÇ À¯¿¬¼ºÀ» Á¦°øÇϱâ À§ÇØ JMS »ç¾çÀº °ø±ÞÀÚº° Á¤º¸¸¦ ĸ½¶ÈÇÏ´Â ¿¬°á ÆÑÅ丮 ¹× ´ë»ó¿¡ ´ëÇÑ °ü¸® ´ë»ó °´Ã¼¸¦ Á¤ÀÇÇÕ´Ï´Ù. ÀÌ·¯ÇÑ °´Ã¼´Â °ü¸®ÀÚ°¡ ÀÛ¼º ¹× ±¸¼ºÇϰí JNDI À̸§ ¿µ¿ª(°´Ã¼ ÀúÀå¼Ò)¿¡¼ ÀúÀåÇϸç Ŭ¶óÀÌ¾ðÆ®°¡ Ç¥ÁØ JNDI Á¶È¸ Äڵ带 ÅëÇØ ¾×¼¼½ºÇÕ´Ï´Ù.
°ü¸® ´ë»ó °´Ã¼¸¦ »ç¿ëÇϸé JMS Ŭ¶óÀÌ¾ðÆ®´Â °ø±ÞÀÚº° °´Ã¼¸¦ Á¶È¸Çϰí ÂüÁ¶ÇÒ ¶§ ³í¸®Àû À̸§À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¸°Ô µÇ¸é Ŭ¶óÀÌ¾ðÆ® ÄÚµå´Â °ø±ÞÀÚ°¡ »ç¿ëÇϴ ƯÁ¤ À̸§ ¶Ç´Â ÁÖ¼Ò ÁöÁ¤ ±¸¹®À̳ª ±¸¼º °¡´ÉÇÑ µî·Ï Á¤º¸¸¦ ¾Ë¾Æ µÑ Çʿ䰡 ¾ø½À´Ï´Ù. µû¶ó¼ ÄÚµå °ø±ÞÀÚ µ¶¸³¼ºÀ» °®°Ô µË´Ï´Ù.
°ü¸® ´ë»ó °´Ã¼ Àý¿¡¼´Â ¸Þ½ÃÁö ´ë±â¿¿¡¼ »ç¿ëµÈ °ü¸® ´ë»ó °´Ã¼¿¡ ´ëÇÑ Ãß°¡ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù.