¸±¸®½º Á¤º¸


|20.5 »ç¿ë ½Ã³ª¸®¿À

|MQSeries ÇÔ¼ö¸¦ ´Ù¾çÇÑ ½Ã³ª¸®¿À·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. |ÀÌ ¼½¼Ç¿¡¼­´Â ±âº» ¸Þ½ÃÁö, ÀÀ¿ëÇÁ·Î±×·¥ ¿¬°á¼º ¹× µ¥ÀÌÅÍ Ã¥À» |Æ÷ÇÔÇÑ ÀϹÝÀûÀÎ ½Ã³ª¸®¿À¸¦ ¸î °¡Áö °ËÅäÇÕ´Ï´Ù.

|20.5.1 ±âº» ¸Þ½ÃÁö

|¸ðµç µ¥ÀÌÅͺ£À̽º ÀÀ¿ëÇÁ·Î±×·¥ÀÌ °°Àº DB2 ¼­¹ö¿¡ ¿¬°áµÇ¾î ÀÖÀ» ¶§ MQSeries DB2 ÇÔ¼ö¿ÍÀÇ |°¡Àå ±âº»ÀûÀÎ ÇüÅÂÀÇ ¸Þ½ÃÁö ±³È¯ÀÌ ÀÌ·ç¾îÁý´Ï´Ù. |Ŭ¶óÀ̾ðÆ®´Â µ¥ÀÌÅͺ£À̽º ¼­¹ö¿¡ Àְųª ³×Æ®¿öÅ© ȯ°æ¿¡ ºÐ»êµÇ¾î ÀÖ½À´Ï´Ù.

|°£´ÜÇÑ ½Ã³ª¸®¿À¿¡¼­ Ŭ¶óÀ̾ðÆ® A´Â MQSEND ÇÔ¼ö¸¦ È£ÃâÇÏ¿© »ç¿ëÀÚ Á¤ÀÇ |¹®ÀÚ¿­À» ±âº» ¼­ºñ½º À§Ä¡·Î º¸³À´Ï´Ù. |±×·¯¸é MQSeries ÇÔ¼ö°¡ µ¥ÀÌÅͺ£À̽º ¼­¹öÀÇ DB2¿¡¼­ ½ÇÇàµË´Ï´Ù. |Àá½Ã ÈÄ¿¡ Ŭ¶óÀ̾ðÆ® B°¡ MQRECEIVE ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ±âº» ¼­ºñ½º¿¡¼­ Á¤ÀÇÇÑ |´ë±âÇà·Ä Çìµå¿¡¼­ ¸Þ½ÃÁö¸¦ Á¦°ÅÇÏ¿© À̸¦ Ŭ¶óÀ̾ðÆ®¿¡°Ô ¸®ÅÏÇÕ´Ï´Ù. |ÀÌ ÀÛ¾÷À» ¼öÇàÇÒ MQSeries ÇÔ¼ö°¡ ´Ù½Ã DB2¿¡ ÀÇÇØ ½ÇÇàµË´Ï´Ù.

|µ¥ÀÌÅͺ£À̽º Ŭ¶óÀ̾ðÆ®´Â °£´ÜÇÑ ¸Þ½ÃÁö¸¦ ´Ù¾çÇÑ ¹æ¹ýÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. |ÀϹÝÀûÀ¸·Î ´ÙÀ½°ú °°Àº °æ¿ì¿¡ ¸Þ½Ã¡À» »ç¿ëÇÕ´Ï´Ù. |

|´ÙÀ½ ½Ã³ª¸®¿À´Â ¿ø°Ý ¸Þ½ÃÁö¸¦ ÅëÇÕÇϱâ À§ÇØ À§¿¡¼­ ¼³¸íÇÑ ´Ü¼øÇÑ ½Ã³ª¸®¿À¸¦ |È®ÀåÇÑ °ÍÀÔ´Ï´Ù. |Áï, ¸Ó½Å A¿Í ¸Ó½Å B »çÀÌ¿¡¼­ ¸Þ½ÃÁö°¡ Àü¼ÛµË´Ï´Ù. °¢ ´Ü°è´Â ´ÙÀ½°ú °°½À´Ï´Ù. |

  1. |DB2 Ŭ¶óÀ̾ðÆ®°¡ ¸Ó½Å BÀÇ ¿ø°Ý ´ë±âÇà·ÄÀ» ³ªÅ¸³»±â À§ÇØ Á¤ÀÇµÈ ´ë»ó ¼­ºñ½º¸¦ |ÁöÁ¤ÇÏ´Â MQSEND È£ÃâÀ» ½ÇÇàÇÕ´Ï´Ù.
  2. |MQSeries DB2 ÇÔ¼ö´Â ¸Þ½ÃÁö¸¦ º¸³»´Â ½ÇÁ¦ MQSeries ÀÛ¾÷À» ¼öÇàÇÕ´Ï´Ù. |¸Ó½Å AÀÇ MQSeries ¼­¹ö´Â ¸Þ½ÃÁö¸¦ ¹Þ¾ÆµéÀÌ°í ÀÌ ¸Þ½ÃÁö°¡ ¸Ó½Å AÀÇ ÇöÀç MQSeries ±¸¼º ¹× |¼­ºñ½º ÁöÁ¡ Á¤ÀÇ·Î Á¤ÀÇÇÑ ¸ñÀûÁö·Î ¹è´ÞµÇµµ·Ï º¸ÀåÇÕ´Ï´Ù. ¼­¹ö´Â ¸Ó½Å BÀÇ |´ë±âÇà·ÄÀÓÀ» ÆľÇÇÑ ÈÄ ¸Þ½ÃÁö¸¦ ¸Ó½Å BÀÇ MQSeries ¼­¹ö·Î ¹è´ÞÇÏ·Á°í ½ÃµµÇÕ´Ï´Ù. |ÀÌ ¶§ ÇÊ¿äÇϸé Åõ¸íÇÏ°Ô Àç½ÃµµÇÕ´Ï´Ù.
  3. |¸Ó½Å BÀÇ MQSeries¼­¹ö´Â ¸Ó½Å AÀÇ ¼­¹ö¿¡¼­ º¸³½ ¸Þ½ÃÁö¸¦ ¹Þ°í |ÀÌ ¸Þ½ÃÁö¸¦ ¸Ó½Å BÀÇ ¸ñÀûÁö ´ë±âÇà·Ä¿¡ °®´Ù ³õ½À´Ï´Ù.
  4. |¸Ó½Å BÀÇ MQSeries Ŭ¶óÀ̾ðÆ®´Â ´ë±âÇà·ÄÀÇ Çìµå¿¡¼­ ¸Þ½ÃÁö¸¦ ¿äûÇÕ´Ï´Ù. |

|20.5.2 ¸Þ½ÃÁö Àü¼Û

|MQSEND¸¦ »ç¿ëÇÏ¿© DB2 »ç¿ëÀÚ³ª °³¹ßÀÚ´Â Àü¼ÛÇÒ µ¥ÀÌÅÍ, Àü¼ÛÇÒ À§Ä¡ ¹× Àü¼Û ½Ã±â¸¦ |¼±ÅÃÇÕ´Ï´Ù. |¾÷°è¿¡¼­´Â À̸¦ "º¸³»°í Àؾî¹ö¸®±â" Áï, º¸³½ »ç¶÷Àº ´ÜÁö ¸Þ½ÃÁö¸¦ º¸³»±â¸¸ ÇÏ°í |¸Þ½ÃÁö°¡ ¸ñÀûÁö¿¡ µµ´ÞÇß´ÂÁö È®ÀÎÇÏ´Â °ÍÀº MQSeries ¹è´Þ ÇÁ·ÎÅäÄÝÀ̶ó°í ÇÕ´Ï´Ù. |´ÙÀ½Àº À̸¦ º¸¿©ÁÖ´Â ¿¹ÀÔ´Ï´Ù.

|¿¹ 4: »ç¿ëÀÚ Á¤ÀÇ ¹®ÀÚ¿­À» ¼­ºñ½º ÁöÁ¡ myPlace·Î highPriority ±ÔÁ¤°ú ÇÔ²² º¸³À´Ï´Ù.

|VALUES DB2MQ.MQSEND('myplace','highPriority','test')

|¿©±â¼­ highPriority ±ÔÁ¤Àº MQSeries ¿ì¼±¼øÀ§¸¦ °¡Àå ³ôÀº ·¹º§·Î ¼³Á¤ÇÏ°í Áö¼Ó¼º°ú °°Àº |¼­ºñ½º Áúµµ µ¿ÀÏÇÏ°Ô Á¶Á¤ÇÏ´Â AMI Repository¿¡ Á¤ÀÇµÈ ±ÔÁ¤À» ÂüÁ¶ÇÕ´Ï´Ù.

|¸Þ½ÃÁö ³»¿ëÀº SQL ¹× »ç¿ëÀÚ ÁöÁ¤ µ¥ÀÌÅÍÀÇ Àû¹ýÇÑ °áÇÕÀ¸·Î ±¸¼ºµÉ ¼ö ÀÖ½À´Ï´Ù. |¿©±â¿¡´Â ÁßøµÈ ÇÔ¼ö, ¿¬»êÀÚ ¹× ij½ºÆ®°¡ Æ÷ÇԵ˴ϴÙ. |¿¹¸¦ µé¾î, VARCHAR Ä÷³ LASTNAME, FIRSTNAME ¹× DEPARTMENTÀÌ ÀÖ´Â EMPLOYEE Å×ÀÌºí¿¡¼­ |DEPARTMENT 5LGAÀÇ °¢ Á÷¿ø¿¡ ´ëÇØ ÀÌ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â ¸Þ½ÃÁö¸¦ º¸³»·Á¸é ´ÙÀ½À» ¼öÇàÇØ¾ß ÇÕ´Ï´Ù.

|¿¹ 5:

|SELECT DB2MQ.MQSEND(LASTNAME || ' ' || FIRSTNAME || ' ' || DEPARTMENT)
|   FROM EMPLOYEE
|   WHERE DEPARTMENT = '5LGA'

|ÀÌ Å×ÀÌºí¿¡ Á¤¼ö AGE Ä÷³µµ ÀÖÀ¸¸é ´ÙÀ½ÀÌ Æ÷Çյ˴ϴÙ.

|¿¹ 6:

|SELECT DB2MQ.MQSEND
|      (LASTNAME || ' ' || FIRSTNAME || ' ' || DEPARTMENT|| ' ' || char(AGE))
|   FROM EMPLOYEE
|   WHERE DEPARTMENT = '5LGA'

|EMPLOYEE Å×ÀÌºí¿¡ ACE Ä÷³ÀÌ ¾Æ´Ñ CLOB À¯ÇüÀÇ RESUME Ä÷³ÀÌ ÀÖÀ» °æ¿ì, DEPARTMENT |5LGAÀÇ °¢ °í¿ëÀο¡ ´ëÇÑ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â ¸Þ½ÃÁö¸¦ ´ÙÀ½°ú °°ÀÌ ³»º¸³À´Ï´Ù.

|¿¹ 7:

|SELECT DB2MQ.MQSEND
|      (clob(LASTNAME) || ' ' || clob(FIRSTNAME) || ' ' || clob(DEPARTMENT) || ' ' || RESUME))
|   FROM EMPLOYEE
|   WHERE DEPARTMENT = '5LGA'

|¿¹ 8:

|¸¶Áö¸·À¸·Î ´ÙÀ½ ¿¹´Â À¯È¿ÇÑ SQL Ç¥Çö½ÄÀ» »ç¿ëÇÏ¿© ¸Þ½ÃÁö ³»¿ëÀ» ÃßÃâÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù. |µÎ ¹ø° Å×À̺í DEPT¿¡´Â VARCHAR Ä÷³ DEPT_NO ¹× DEPT_NAMEÀÌ ÀÖ°í Á÷¿øÀÇ |LASTNAME ¹× DEPT_NAMEÀ» Æ÷ÇÔÇÏ´Â ¸Þ½ÃÁö¸¦ º¸³¾ ¼ö ÀÖ½À´Ï´Ù.

|¿¹ 8:

|SELECT DB2MQ.MQSEND(e.LASTNAME || ' ' || d.DEPTNAME) FROM EMPLOYEE e, DEPT d
|   WHERE e.DEPARTMENT = d.DEPTNAME

|20.5.3 ¸Þ½ÃÁö °Ë»ö

|MQSeries DB2 ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ¸Þ½ÃÁö¸¦ ¹Þ°Å³ª ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù. |Àд °Í°ú ¹Þ´Â °ÍÀÇ Â÷ÀÌ´Â Àд °æ¿ì ´ë±âÇà·ÄÀÇ Çìµå¿¡¼­ ¸Þ½ÃÁö¸¦ Á¦°ÅÇÏÁö ¾Ê°í |¸Þ½ÃÁö¸¦ ¸®ÅÏÇÏÁö¸¸ ¹Þ´Â °æ¿ì¿¡´Â ¸Þ½ÃÁö°¡ ´ë±âÇà·Ä¿¡¼­ Á¦°ÅµË´Ï´Ù. |¹Þ´Â ÀÛ¾÷À» »ç¿ëÇÏ¿© °Ë»öµÈ ¸Þ½ÃÁö´Â ÇÑ ¹ø¸¸ °Ë»öÇÒ ¼ö ÀÖÁö¸¸ Àд ÀÛ¾÷À» »ç¿ëÇÏ¿© |°Ë»öµÈ ¸Þ½ÃÁö´Â ¿©·¯ ¹ø °Ë»öÇÒ ¼ö ÀÖ½À´Ï´Ù. |´ÙÀ½Àº À̸¦ º¸¿©ÁÖ´Â ¿¹ÀÔ´Ï´Ù.

|¿¹ 8:

|VALUES DB2MQ.MQREAD()

|ÀÌ ¿¹¿¡¼­´Â ±âº» ¼­ºñ½º Áú ±ÔÁ¤À» »ç¿ëÇÏ´Â ±âº» ¼­ºñ½º°¡ Á¤ÀÇÇÑ ´ë±âÇà·ÄÀÇ Çìµå¿¡¼­ |¸Þ½ÃÁö¸¦ Æ÷ÇÔÇÏ´Â VARCHAR ¹®ÀÚ¿­À» ¸®ÅÏÇÕ´Ï´Ù. |ÀÐÀ» ¸Þ½ÃÁö°¡ ¾øÀ» °æ¿ì, ³Î(NULL) °ªÀÌ ¸®Åϵȴٴ Á¡¿¡ ÁÖÀÇÇϽʽÿÀ. |ÀÌ ÀÛ¾÷À¸·Î ´ë±âÇà·ÄÀº º¯°æµÇÁö ¾Ê½À´Ï´Ù.

|¿¹ 9:

|VALUES DB2MQ.MQRECEIVE('Employee_Changes')

|À§ÀÇ ¿¹´Â ±âº» ±ÔÁ¤À» »ç¿ëÇÏ´Â Employee_Changes ¼­ºñ½º°¡ Á¤ÀÇÇÑ ´ë±âÇà·ÄÀÇ |Çìµå¿¡¼­ ¸Þ½ÃÁö¸¦ Á¦°ÅÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù.

|DB2ÀÇ °­·ÂÇÑ ±â´É Áß Çϳª´Â »ç¿ëÀÚ Á¤ÀÇ(¶Ç´Â DB2 Á¦°ø) ÇÔ¼ö¿¡¼­ Å×À̺íÀ» |»ý¼ºÇÏ´Â ±â´ÉÀÔ´Ï´Ù. ÀÌ Å×À̺í ÇÔ¼ö ±â´ÉÀ» ÀÌ¿ëÇÏ¿© ´ë±âÇà·ÄÀÇ ³»¿ëÀ» |DB2 Å×À̺í·Î ±¸Ã¼È­ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½Àº À̸¦ º¸¿©ÁÖ´Â °£´ÜÇÑ ¿¹ÀÔ´Ï´Ù.

|¿¹ 10:

|SELECT t.* FROM table ( DB2MQ.MQREADALL()) t 

|ÀÌ Á¶È¸´Â ÀÌ ¸Þ½ÃÁö¿¡ ´ëÇÑ ¸ÞŸµ¥ÀÌÅÍ ¹× ±âº» ¼­ºñ½º¿¡¼­ Á¤ÀÇÇÑ |´ë±âÇà·ÄÀÇ ¸ðµç ¸Þ½ÃÁö·Î ±¸¼ºµÈ Å×À̺íÀ» ¸®ÅÏÇÕ´Ï´Ù. |¸®ÅÏµÈ Å×ÀÌºí ±¸Á¶ÀÇ Àüü Á¤ÀÇ´Â ºÎ·Ï¿¡ Á¤ÀǵǾî ÀÖÁö¸¸ |ù Ä÷³Àº ¸Þ½ÃÁö ³»¿ëÀ» ¹Ý¿µÇÏ¸ç ³ª¸ÓÁö Ä÷³¿¡´Â ¸ÞŸµ¥ÀÌÅÍ°¡ Æ÷ÇԵ˴ϴÙ. |¸Þ½ÃÁö¸¸ ¸®ÅÏÇÏ·Á¸é À§ÀÇ ¿¹¸¦ ´ÙÀ½°ú °°ÀÌ ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù.

|¿¹ 11:

|SELECT t.MSG FROM table (DB2MQ.MQREADALL()) t

|Å×À̺í ÇÔ¼ö°¡ ¸®ÅÏÇÑ Å×À̺íÀº µ¥ÀÌÅͺ£À̽º¿¡¼­ Á÷Á¢ °Ë»öÇÑ |Å×À̺í°ú ´Ù¸£Áö ¾Ê½À´Ï´Ù. |µû¶ó¼­ ´Ù¾çÇÑ ¹æ¹ýÀ¸·Î ÀÌ Å×À̺íÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. |¿¹¸¦ µé¾î, Å×ÀÌºí ³»¿ëÀ» ´Ù¸¥ Å×À̺í°ú Á¶ÀÎÇϰųª ´ë±âÇà·ÄÀÇ ¸Þ½ÃÁö ¼ö¸¦ |¼¿ ¼ö ÀÖ½À´Ï´Ù.

|¿¹ 12:

|SELECT t.MSG, e.LASTNAME 
|   FROM table (DB2MQ.MQREADALL() ) t, EMPLOYEE e 
|      WHERE t.MSG = e.LASTNAME

|¿¹ 13:

|SELECT COUNT(*) FROM table (DB2MQ.MQREADALL()) t

|Å×À̺í ÇÔ¼ö¿¡ ´ëÇÑ ºä¸¦ ÀÛ¼ºÇÏ¿© Å×ÀÌºí ¼Ò½º°¡ ´ë±âÇà·ÄÀ̶ó´Â °ÍÀ» ¼û±æ ¼öµµ ÀÖ½À´Ï´Ù. |¿¹¸¦ µé¾î, ´ÙÀ½ ¿¹¿¡¼­´Â NEW_EMPLOYEES ¼­ºñ½º°¡ ÂüÁ¶ÇÏ´Â ´ë±âÇà·Ä¿¡ ´ëÇØ |NEW_EMP¶ó´Â ºä¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

|¿¹ 14:

|CREATE VIEW NEW_EMP (msg) AS
|   SELECT t.msg FROM table (DB2MQ.MQREADALL()) t

|ÀÌ °æ¿ì ºä´Â Àüü ¸Þ½ÃÁö¸¦ Æ÷ÇÔÇÏ´Â ´ÜÀÏ Ä÷³°ú ÇÔ²² Á¤Àǵ˴ϴÙ. |°íÁ¤µÈ ±æÀÌÀÇ µÎ Çʵ尡 Æ÷ÇÔµÈ °æ¿ì¿Í °°ÀÌ ¸Þ½ÃÁö°¡ ´Ü¼øÇÏ°Ô ±¸¼ºµÇ¸é |¸Þ½ÃÁö¸¦ µÎ °³ÀÇ Ä÷³À¸·Î ºÐ¼®Çϱâ À§ÇØ DB2 ³»Àå ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÆíÇÕ´Ï´Ù. |¿¹¸¦ µé¾î, ƯÁ¤ ´ë±âÇà·Ä·Î Àü¼ÛµÇ´Â ¸Þ½ÃÁö¿¡´Â Ç×»ó 18¹®ÀÚÀÇ ¼º°ú |±× µÚ¿¡ 18¹®ÀÚÀÇ À̸§ÀÌ ³ª¿Â´Ù´Â °ÍÀ» ¾Ë°í ÀÖ´Â °æ¿ì, ´ÙÀ½°ú °°ÀÌ |º°µµÀÇ Ä÷³À¸·Î °¢ Çʵ带 Æ÷ÇÔÇÏ°í ÀÖ´Â ºä¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù.

|¿¹ 15:

|CREATE VIEW NEW_EMP2 AS
|   SELECT left(t.msg,18) AS LNAME, right(t.msg,18) AS FNAME
|   FROM table(DB2MQ.MQREADALL()) t

|DB2 Stored Procedure BuilderÀÇ »õ·Î¿î ±â´ÉÀÎ MQSeries Áö¿ø ¸¶¹ý»ç¸¦ »ç¿ëÇÏ¿© |ºÐ¸®µÈ ¸Þ½ÃÁö ±¸Á¶¸¦ Ä÷³À¸·Î ¸ÊÇÎÇÏ´Â »õ·Î¿î DB2 Å×À̺í ÇÔ¼ö ¹× ºä¸¦ ÀÛ¼ºÇÒ ¼ö |ÀÖ½À´Ï´Ù.

|ÀÌ´Â Çϳª ÀÌ»óÀÇ ¸Þ½ÃÁö ³»¿ëÀ» µ¥ÀÌÅͺ£À̽º·Î ÀúÀåÇÒ °æ¿ì¿¡ ÁÁ½À´Ï´Ù. |¸Þ½ÃÁö ³»¿ëÀ» Á¶ÀÛÇÏ°í ÀúÀåÇÏ´Â SQLÀÇ Àüü ¼º´ÉÀ» »ç¿ëÇÏ¿© ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. |´ÙÀ½Àº °¡Àå °£´ÜÇÑ ¿¹ÀÔ´Ï´Ù.

|¿¹ 16:

|INSERT INTO MESSAGES 
|   SELECT t.msg FROM table (DB2MQ.MQRECEIVEALL()) t

|ÇϳªÀÇ Ä÷³ VARCHAR(2000)°¡ ÀÖ´Â MESSAGES Å×ÀÌºí¿¡¼­ À§ÀÇ ¸í·É¹®À» »ç¿ëÇϸé |±âº» ¼­ºñ½º ´ë±âÇà·ÄÀÇ ¸Þ½ÃÁö¸¦ Å×ÀÌºí¿¡ »ðÀÔÇÕ´Ï´Ù. |ÀÌ ¹æ¹ýÀ» ¼öÁ¤ÇÏ¿© ´Ù¾çÇÑ °æ¿ì¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

|20.5.4 ÀÀ¿ëÇÁ·Î±×·¥°£ ¿¬°á¼º

|ÀÀ¿ëÇÁ·Î±×·¥ ÅëÇÕÀº ¸¹Àº ¼Ö·ç¼Ç¿¡¼­ ÀϹÝÀûÀÎ ¿ä¼ÒÀÔ´Ï´Ù. |±¸ÀÔÇÑ ÀÀ¿ëÇÁ·Î±×·¥À» ±âÁ¸ ±¸Á¶¿¡ ÅëÇÕÇϰųª »õ·Î °³¹ßÇÑ ÀÀ¿ëÇÁ·Î±×·¥¸¸ |±âÁ¸ ȯ°æ¿¡ ÅëÇÕÇÒ °æ¿ì, ¸ðµÎ À̱âÁ¾ ¼­ºê½Ã½ºÅÛ ÄÝ·º¼ÇÀÌ ÀüüÀûÀ¸·Î |ÀÛ¾÷ÇÒ ¼ö ÀÖµµ·Ï ÇÔ²² ÅëÇÕÇØ¾ß ÇÏ´Â ¹®Á¦¿¡ Á÷¸éÇÏ°Ô µË´Ï´Ù. |MQSeries´Â ÀϹÝÀûÀ¸·Î ÀÀ¿ëÇÁ·Î±×·¥À» ÅëÇÕÇÏ´Â ÇʼöÀûÀÎ µµ±¸ÀÔ´Ï´Ù. |´ëºÎºÐÀÇ Çϵå¿þ¾î, ¼ÒÇÁÆ®¿þ¾î ¹× ¾ð¾î ȯ°æ¿¡¼­ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Â MQSeries´Â |À̱âÁ¾ ÀÀ¿ëÇÁ·Î±×·¥ ÄÝ·º¼ÇÀ» ¼­·Î ¿¬°áÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù.

|ÀÌ ¼½¼Ç¿¡¼­´Â ¸î °³ÀÇ ÀÀ¿ëÇÁ·Î±×·¥ ÅëÇÕ ½Ã³ª¸®¿À¿Í DB2¿Í ÇÔ²² »ç¿ëÇÏ´Â ¹æ¹ý¿¡ |´ëÇØ ¼³¸íÇÕ´Ï´Ù. ÁÖÁ¦°¡ ±¤¹üÀ§ÇϹǷΠÀÀ¿ëÇÁ·Î±×·¥ ÅëÇÕ¿¡ ´ëÇÑ Æ÷°ýÀûÀÎ Á¢±ÙÀº |ÀÌ ¹üÀ§¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù. |µû¶ó¼­ ¿äû/ÀÀ´ä Åë½Å°ú MQSeries Integrator ¹× Publish/SubscribeÀÇ µÎ °¡Áö °£´ÜÇÑ |Ç׸ñ¿¡ ÃÊÁ¡À» ¸ÂÃä´Ï´Ù.

|20.5.4.1 ¿äû/ÀÀ´ä Åë½Å

|¿äû/ÀÀ´ä(R/R) Åë½Å ¹æ¹ýÀº ÇϳªÀÇ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ¼­ºñ½º¸¦ |¿äûÇÏ´Â ÀϹÝÀûÀÎ ¹æ¹ýÀÔ´Ï´Ù. |À̸¦ ¼öÇàÇÏ´Â ÇÑ ¹æ¹ýÀº ¸®Äù½ºÅÍ°¡ ¼­ºñ½º Á¦°øÀÚ¿¡°Ô ¼öÇàÇÒ ÀÛ¾÷À» ¿äûÇÏ´Â ¸Þ½ÃÁö¸¦ |º¸³»´Â °ÍÀÔ´Ï´Ù. |ÀÛ¾÷ÀÌ ¿Ï·áµÇ¸é Á¦°øÀÚ´Â °á°ú(¶Ç´Â ¿Ï·á È®Àθ¸)¸¦ ´Ù½Ã ¸®Äù½ºÅÍ¿¡°Ô º¸³¾ ¼ö ÀÖ½À´Ï´Ù. |À§¿¡¼­ ¼³¸íÇÑ ±âº» ¸Þ½ÃÁö Àü¼Û ¹æ¹ý ÀÌ¿Ü¿¡´Â |º¸³½ »ç¶÷ÀÇ ¿äûÀ» ¼­ºñ½º Á¦°øÀÚÀÇ ÀÀ´ä°ú ¿¬°áÇÏ´Â ¹æ¹ýÀÌ ¾ø½À´Ï´Ù. |°è¼Ó ÁøÇàÇϱâ Àü¿¡ ¸®Äù½ºÅÍ°¡ ÀÀ´äÀ» ±â´Ù¸®Áö ¾Ê´Â °æ¿ì, °¢ ÀÀ´äÀ» |¸®Äù½ºÅÍ¿Í ¿¬°áÇÏ´Â ¸ÞÄ¿´ÏÁòÀÌ »ç¿ëµÇ¾î¾ß ÇÕ´Ï´Ù. |°³¹ßÀÚ°¡ ÀÌ·¯ÇÑ ¸ÞÄ¿´ÏÁòÀ» ¸¸µé ÇÊ¿ä ¾øÀÌ |MQSeries´Â ±³È¯½Ã ¸Þ½ÃÁö »ó°üÀ» Çã¿ëÇÏ´Â »ó°ü ID¸¦ Á¦°øÇÕ´Ï´Ù.

|¿©·¯ °¡Áö ¹æ¹ýÀ¸·Î ÀÌ ¸ÞÄ¿´ÏÁòÀ» »ç¿ëÇÒ ¼ö ÀÖÁö¸¸ °¡Àå °£´ÜÇÑ ¹æ¹ýÀº |¸®Äù½ºÅÍ°¡ ´ÙÀ½°ú °°Àº ¹æ¹ý µîÀ» »ç¿ëÇÏ¿© ¾Ë·ÁÁø »ó°ü ID·Î |¸Þ½ÃÁö¸¦ Ç¥½ÃÇÏ´Â °ÍÀÔ´Ï´Ù.

|¿¹ 17:

|DB2MQ.MQSEND ('myRequester','myPolicy','SendStatus:cust1','Req1')

|ÀÌ ¸í·É¹®Àº ¿äûÀÇ »ó°ü ID¸¦ ³ªÅ¸³»±â À§ÇØ À§ÀÇ MQSEND ¸í·É¹®¿¡ ¸¶Áö¸· ¸Å°³º¯¼ö Req1À» Ãß°¡ÇÕ´Ï´Ù.

|ÀÌ Æ¯Á¤ ¿äû¿¡ ´ëÇÑ ÀÀ´äÀ» ¹ÞÀ¸·Á¸é ´ÙÀ½°ú °°ÀÌ ÇØ´çµÇ´Â MQRECEIVE¹®À» »ç¿ëÇÏ¿© |ÀÌ »ó°ü ID¿Í ÀÏÄ¡Çϴ ǥ½ÃµÈ ¼­ºñ½º°¡ Á¤ÀÇÇÑ Ã¹ ¸Þ½ÃÁö¸¦ ¼±ÅÃÀûÀ¸·Î °Ë»öÇÕ´Ï´Ù.

|¿¹ 18:

|DB2MQ.MQRECEIVE('myReceiver','myPolicy','Req1')

|¿äûÀ» ¼­ºñ½ºÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥ÀÌ »ç¿ë ÁßÀ̰ųª ¸®Äù½ºÅÍ°¡ ÀÀ´äÀ» ¹Þ±â Àü¿¡ |À§ÀÇ MQRECEIVE¸¦ ½ÇÇàÇϸé ÀÌ »ó°ü ½Äº°ÀÚ¿Í ÀÏÄ¡ÇÏ´Â ¸Þ½ÃÁö¸¦ ãÀ» ¼ö ¾ø½À´Ï´Ù.

|¼­ºñ½º ¿äû ¹× »ó°ü ½Äº°ÀÚ¸¦ ¸ðµÎ ¹ÞÀ¸·Á¸é ´ÙÀ½°ú °°Àº ¸í·É¹®À» »ç¿ëÇÕ´Ï´Ù.

|¿¹ 19:

|SELECT msg, correlid FROM table (DB2MQ.MQRECEIVEALL('aServiceProvider','myPolicy',1)) t

|ÀÌ ¸í·É¹®Àº ¼­ºñ½º aServiceProvider¿¡¼­ ù ¹ø° ¿äûÀÇ »ó°ü ID ¹× ¸Þ½ÃÁö¸¦ ¸®ÅÏÇÕ´Ï´Ù.

|ÀÏ´Ü ¼­ºñ½º°¡ ¼öÇàµÇ¸é aRequester°¡ ¼³¸íÇÏ´Â ´ë±âÇà·Ä·Î ÀÀ´ä ¸Þ½ÃÁö¸¦ º¸³À´Ï´Ù. |±× µ¿¾È ¼­ºñ½º ¸®Äù½ºÅÍ´Â ´Ù¸¥ ÀÛ¾÷À» ÇÒ ¼ö ÀÖ½À´Ï´Ù. |½ÇÁ¦·Î ¼³Á¤µÈ ½Ã°£ ³»¿¡ Ãʱ⠼­ºñ½º ¿äû¿¡ ´ëÇÑ ÀÀ´äÀ» ¹Þ´Â´Ù´Â º¸ÀåÀÌ ¾ø½À´Ï´Ù. |ÀÌ¿Í °°Àº ÀÀ¿ëÇÁ·Î±×·¥ ·¹º§ ½Ã°£Á¾·á´Â °³¹ßÀÚ°¡ °ü¸®ÇØ¾ß ÇÕ´Ï´Ù. |¸®Äù½ºÅÍ´Â ÀÀ´äÀ» ¹ß°ßÇϱâ À§ÇØ Æú¸µÇØ¾ß ÇÕ´Ï´Ù.

|ÀÌ·¯ÇÑ ½Ã°£°ú ¹«°üÇÑ ºñµ¿±â ó¸®ÀÇ ÀåÁ¡Àº ¸®Äù½ºÅÍ ¹× ¼­ºñ½º Á¦°øÀÚ°¡ |¼­·Î ¿ÏÀüÈ÷ µ¶¸³ÀûÀ¸·Î ½ÇÇàÇÒ ¼ö ÀÖ´Ù´Â Á¡ÀÔ´Ï´Ù. |¶ÇÇÑ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ °£ÇæÀûÀ¸·Î¸¸ ¿¬°áµÇ´Â ȯ°æ ¹× ¿©·¯ ¿äûÀ̳ª ÀÀ´äÀÌ Ã³¸®µÇ±â Àü¿¡ |´©ÀûµÇ´Â ¹èÄ¡ À§ÁÖÀÇ È¯°æ¿¡¼­ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. |ÀÌ·¯ÇÑ ´©ÀûÀº µ¥ÀÌÅÍ ¿þ¾îÇϿ콺³ª Á¶ÀÛ µ¥ÀÌÅÍ ÀúÀå¼Ò¸¦ Á¤±âÀûÀ¸·Î °»½ÅÇÏ´Â |µ¥ÀÌÅÍ ¿þ¾îÇϿ콺 ȯ°æ¿¡¼­ ÁÖ·Î »ç¿ëµË´Ï´Ù.

|20.5.4.2 Publish/Subscribe

|´Ü¼ø µ¥ÀÌÅÍ publication

|ÀÀ¿ëÇÁ·Î±×·¥ ÅëÇÕÀÇ ¶Ç ´Ù¸¥ ÀϹÝÀûÀÎ ½Ã³ª¸®¿À´Â ÇÑ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ |´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥¿¡°Ô À̺¥Æ®¸¦ ÅëÁöÇÏ´Â °ÍÀÔ´Ï´Ù. |ÀÌ´Â ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ¸ð´ÏÅÍÇÏ´Â ´ë±âÇà·Ä·Î ¸Þ½ÃÁö¸¦ º¸³¿À¸·Î½á ½±°Ô ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. |¸Þ½ÃÁö ³»¿ëÀº »ç¿ëÀÚ Á¤ÀÇ ¹®ÀÚ¿­À̳ª µ¥ÀÌÅͺ£À̽º Ä÷³À¸·Î ±¸¼ºµÉ ¼ö ÀÖ½À´Ï´Ù. |´Ü¼øÇÑ ¸Þ½ÃÁöÀÎ °æ¿ì, ÁÖ·Î MQSEND ÇÔ¼ö¸¦ »ç¿ëÇؼ­ º¸³»¾ß ÇÕ´Ï´Ù. |ÀÌ·¯ÇÑ ¸Þ½ÃÁö¸¦ ¿©·¯ ¼ö½ÅÀÚ¿¡°Ô µ¿½Ã¿¡ º¸³»¾ß ÇÒ °æ¿ì, MQSeries AMIÀÇ |ºÐ»ê ¸ñ·Ï ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

|ºÐ»ê ¸ñ·ÏÀº AMI °ü¸® µµ±¸·Î Á¤Àǵ˴ϴÙ. ºÐ»ê ¸ñ·ÏÀº °³º° ¼­ºñ½º ¸ñ·ÏÀ¸·Î ±¸¼ºµË´Ï´Ù. |ºÐ»ê ¸ñ·ÏÀ¸·Î º¸³½ ¸Þ½ÃÁö´Â ¸ñ·Ï¿¡¼­ Á¤ÀÇµÈ ¸ðµç ¼­ºñ½º·Î Àü´ÞµË´Ï´Ù. |ÀÌ´Â ÀϺΠ¼­ºñ½º°¡ Ç×»ó ¸ðµç ¸Þ½ÃÁö¿Í °ü·ÃÀÌ ÀÖ´Ù´Â °ÍÀ» ¾Ë°í ÀÖÀ» °æ¿ì ƯÈ÷ À¯¿ëÇÕ´Ï´Ù. |´ÙÀ½ ¿¹´Â ºÐ»ê ¸ñ·Ï interestedParties¿¡ ¸Þ½ÃÁö¸¦ º¸³»´Â °æ¿ìÀÔ´Ï´Ù.

|¿¹ 20:

|DB2MQ.MQSEND('interestedParties','information of general interest');

|ƯÁ¤ ¼­ºñ½º¸¦ ¹Þ¾Æ¾ß ÇÏ´Â ¸Þ½ÃÁö¸¦ ´õ Àß Á¦¾îÇØ¾ß ÇÒ °æ¿ì, |Publish/Subscribe ±â´ÉÀÌ ÇÊ¿äÇÕ´Ï´Ù. |Publish/Subscribe ½Ã½ºÅÛÀº ÀϹÝÀûÀ¸·Î ¿©·¯ subscribers¿¡°Ô ¸Þ½ÃÁö¸¦ ¹Þ±â À§ÇØ |¿©·¯ subscribers°¡ µî·ÏÇÒ ¼ö ÀÖ´Â È®Àå °¡´ÉÇÑ º¸¾È ȯ°æÀ» Á¦°øÇÕ´Ï´Ù. |ÀÌ ±â´ÉÀ» Áö¿øÇϱâ À§ÇØ MQSeries Integrator ¶Ç´Â MQSeries Publish/Subscribe ±â´É°ú |ÇÔ²² MQPublish ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

|MQPublish¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚ´Â ¼±ÅÃÀûÀ¸·Î ¸Þ½ÃÁö¿Í ¿¬°üµÈ ÁÖÁ¦¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. |ÁÖÁ¦¸¦ »ç¿ëÇÏ¿© subscriber´Â ¹ÞÀ» ¸Þ½ÃÁö¸¦ ´õ¿í ¸íÈ®ÇÏ°Ô ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. |´ÙÀ½°ú °°Àº ´Ü°è¸¦ ¼öÇàÇÕ´Ï´Ù. |

  1. |MQSeries °ü¸®ÀÚ°¡ MQSeries Integrator publish/subscribe ±â´ÉÀ» ±¸¼ºÇÕ´Ï´Ù.
  2. |°ü½ÉÀÖ´Â ÀÀ¿ëÇÁ·Î±×·¥Àº MQSI ±¸¼º¿¡¼­ Á¤ÀÇÇÑ subscription ÁöÁ¡¿¡ subscribeÇÏ¿© |¼±ÅÃÀûÀ¸·Î °ü½ÉÀÖ´Â ÁÖÁ¦¸¦ ÁöÁ¤ÇÕ´Ï´Ù. |°¢ subscriber´Â °ü·Ã ÁÖÁ¦¸¦ ¼±ÅÃÇÏ°í MQSeries Integrator V2ÀÇ ³»¿ë¿¡ ±âÃÊÇÑ |subscriptionÀ» ÀÌ¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. |¼­ºñ½º À̸§À¸·Î Ç¥½ÃµÈ ´ë±âÇà·ÄÀÌ subscriber¸¦ Á¤ÀÇÇÔ¿¡ ÁÖÀÇÇϽʽÿÀ.
  3. |DB2 ÀÀ¿ëÇÁ·Î±×·¥Àº ¼­ºñ½º ÁöÁ¡ Weather¿¡ ¸Þ½ÃÁö¸¦ ¹ßÇàÇÕ´Ï´Ù. |¸Þ½ÃÁö´Â weather°¡ Austin ÁÖÁ¦ÀÇ °æ¿ì SleetÀÓÀ» ³ªÅ¸³»¹Ç·Î |°ü½ÉÀÖ´Â subscribers¿¡°Ô AustinÀÇ weather°¡ SleetÀÓÀ» ÅëÁöÇÕ´Ï´Ù.
  4. |½ÇÁ¦·Î ¸Þ½ÃÁö¸¦ ¹ßÇàÇÏ´Â ¸ÞÄ¿´ÏÁòÀº DB2°¡ Á¦°øÇÏ´Â MQSeries ÇÔ¼ö¿¡ ÀÇÇØ |󸮵˴ϴÙ. ¸Þ½ÃÁö´Â Weather¶ó´Â À̸§ÀÇ ¼­ºñ½º¸¦ »ç¿ëÇÏ¿© MQSeries Integrator·Î º¸³»Áý´Ï´Ù.
  5. |MQSI´Â Weather ¼­ºñ½º¿¡¼­ ¸Þ½ÃÁö¸¦ ¹Þ¾Æ MQSI ±¸¼º¿¡¼­ Á¤ÀÇÇÑ Ã³¸®¸¦ ¼öÇàÇϸç |ÃæÁ·½ÃÅ°´Â subscriptions¸¦ ÆǺ°ÇÕ´Ï´Ù. |±×·± ´ÙÀ½ MQSI´Â ¸Þ½ÃÁö¸¦ ±âÁØ¿¡ ¸Â´Â subscriber ´ë±âÇà·Ä¿¡ Àü´ÞÇÕ´Ï´Ù.
  6. |Weather ¼­ºñ½º¿¡ subscribeÇÏ°í Austin¿¡ °ü½ÉÀÌ ÀÖ´Ù°í µî·ÏÇÑ ÀÀ¿ëÇÁ·Î±×·¥Àº |¼ö½ÅÇÏ´Â ¼­ºñ½º¿¡¼­ Sleet ¸Þ½ÃÁö¸¦ ¹Þ½À´Ï´Ù. |

|¸ðµç ±âº»°ª ¹× ³Î(NULL) ÁÖÁ¦¸¦ »ç¿ëÇÏ¿© ÀÌ µ¥ÀÌÅ͸¦ ¹ßÇàÇÏ·Á¸é |´ÙÀ½ ¸í·É¹®À» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.

|¿¹ 21:

|SELECT DB2MQ.MQPUBLISH(LASTNAME || ' ' || FIRSTNAME || ' ' || DEPARTMENT|| ' ' ||char(AGE)) 
|   FROM EMPLOYEE
|   WHERE DEPARTMENT = '5LGA'

|¸ðµç ¸Å°³º¯¼ö¸¦ ¿Ïº®ÇÏ°Ô ÁöÁ¤ÇÏ°í LASTNAME¸¸ Æ÷ÇÔÇϵµ·Ï ¸Þ½ÃÁö¸¦ ´Ü¼øÈ­Çϸé |¸í·É¹®Àº ´ÙÀ½°ú °°½À´Ï´Ù.

|¿¹ 22:

|SELECT DB2MQ.MQPUBLISH('HR_INFO_PUB', 'SPECIAL_POLICY', LASTNAME, 
|   'ALL_EMP:5LGA', 'MANAGER') 
|   FROM EMPLOYEE
|   WHERE DEPARTMENT = '5LGA'

|ÀÌ ¸í·É¹®Àº SPECIAL_POLICY ¼­ºñ½º¸¦ »ç¿ëÇÏ¿© ¸Þ½ÃÁö¸¦ HR_INFO_PUB publication ¼­ºñ½º¿¡ |¹ßÇàÇÕ´Ï´Ù. |¸Þ½ÃÁö´Â º¸³½ »ç¶÷ÀÌ MANAGER ÁÖÁ¦ÀÓÀ» ³ªÅ¸³À´Ï´Ù. |ÁÖÁ¦ ¹®ÀÚ¿­Àº ':'¸¦ »ç¿ëÇÏ¿© ¿¬°áÇÑ ¿©·¯ ÁÖÁ¦¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖÀ½À» º¸¿©ÁÝ´Ï´Ù. |ÀÌ ¿¹¿¡¼­ µÎ °³ÀÇ ÁÖÁ¦¸¦ »ç¿ëÇÔÀ¸·Î½á subscribers´Â ALL_EMP ¶Ç´Â ´ÜÁö 5LGA¿¡¸¸ µî·ÏÇÏ¿© |ÀÌ ¸Þ½ÃÁö¸¦ ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù.

|¹ßÇàµÈ ¸Þ½ÃÁö¸¦ ¹ÞÀ¸·Á¸é ¸ÕÀú ÁÖ¾îÁø ÁÖÁ¦¸¦ Æ÷ÇÔÇÏ´Â ¸Þ½ÃÁö¿¡ ´ëÇÑ °ü·Ã »çÇ×À» µî·ÏÇÏ°í |¸Þ½ÃÁö¸¦ ¹Þ¾Æ¾ß ÇÏ´Â subscriber ¼­ºñ½º À̸§À» Ç¥½ÃÇØ¾ß ÇÕ´Ï´Ù. |AMI subscriber ¼­ºñ½º´Â Áß°³ÀÎ ¼­ºñ½º ¹× ¹Þ´Â »ç¶÷ ¼­ºñ½º¸¦ Á¤ÀÇÇÕ´Ï´Ù. |Áß°³ÀÎ ¼­ºñ½º´Â subscriber°¡ publish/subscribe Áß°³Àΰú Åë½ÅÇÏ´Â ¹æ¹ýÀ̸ç |¹Þ´Â »ç¶÷ ¼­ºñ½º´Â subscription ¿äû°ú ÀÏÄ¡ÇÏ´Â ¸Þ½ÃÁö¸¦ º¸³¾ À§Ä¡ÀÔ´Ï´Ù. |´ÙÀ½ ¸í·É¹®Àº ALL_EMP ÁÖÁ¦¿¡ ´ëÇÑ °ü·Ã »çÇ×À» µî·ÏÇÕ´Ï´Ù.

|¿¹ 23:

|DB2MQ.MQSUBSCRIBE('aSubscriber', 'ALL_EMP')

|ÀÏ´Ü ÀÀ¿ëÇÁ·Î±×·¥ÀÌ subscribeÇϸé ALL_EM ÁÖÁ¦¿Í ÇÔ²² ¹ßÇàµÈ ¸Þ½ÃÁö°¡ subscriber |¼­ºñ½º¿¡ ÀÇÇØ Á¤ÀÇµÈ ¹Þ´Â »ç¶÷ ¼­ºñ½º·Î Àü´ÞµË´Ï´Ù. |ÀÀ¿ëÇÁ·Î±×·¥Àº µ¿½Ã¿¡ ¿©·¯ °³ÀÇ subscriptions¸¦ °¡Áú ¼ö ÀÖ½À´Ï´Ù. |subscription¿¡ ¸Â´Â ¸Þ½ÃÁö¸¦ ¹Þ±â À§ÇØ Ç¥ÁØ ¸Þ½ÃÁö °Ë»ö ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. |¿¹¸¦ µé¾î subscriber ¼­ºñ½º aSubscriber°¡ ¹Þ´Â »ç¶÷ ¼­ºñ½º¸¦ |aSubscriberReceiver·Î Á¤ÀÇÇÏ¸é ´ÙÀ½ ¸í·É¹®Àº ù ¹ø° ¸Þ½ÃÁö¸¦ ¼Õ»ó½ÃÅ°Áö ¾ÊÀ¸¸é¼­ |ÀнÀ´Ï´Ù.

|¿¹ 24:

|DB2MQ.MQREAD('aSubscriberReceiver')

|¸Þ½ÃÁö ¹× ¸Þ½ÃÁö°¡ ¹ßÇàµÉ ÁÖÁ¦¸¦ ÆľÇÇϱâ À§ÇØ Å×À̺í ÇÔ¼ö Áß Çϳª¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. |´ÙÀ½ ¸í·É¹®Àº aSubscriberReceiver¿¡¼­ óÀ½ ´Ù¼¸ °³ÀÇ ¸Þ½ÃÁö¸¦ ¹Þ¾Æ |¸Þ½ÃÁö ¹× ÁÖÁ¦¸¦ ¸ðµÎ Ç¥½ÃÇÕ´Ï´Ù.

|¿¹ 25:

|SELECT t.msg, t.topic FROM table (DB2MQ.MQRECEIVEALL('aSubscriberReceiver',5)) t

|ÁÖÁ¦°¡ ALL_EMPÀÎ ¸ðµç ¸Þ½ÃÁö¸¦ Àбâ À§ÇØ SQLÀÇ ±â´ÉÀ» ÀÌ¿ëÇÏ¿© ´ÙÀ½À» ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.

|¿¹ 26:

|SELECT t.msg FROM table (DB2MQ.MQREADALL('aSubscriberReceiver')) t 
|   WHERE t.topic = 'ALL_EMP'
|ÁÖ:
MQRECEIVEALLÀÌ Á¦ÇÑÁ¶°Ç°ú ÇÔ²² »ç¿ëµÇ¸é ALL_EMP ÁÖÁ¦·Î |¹ßÇàµÈ ¸Þ½ÃÁö»Ó ¾Æ´Ï¶ó Àüü ´ë±âÇà·ÄÀÌ ¼ÒºñµÊ¿¡ ÁÖÀÇÇØ¾ß ÇÕ´Ï´Ù. |ÀÌ´Â Á¦ÇÑÁ¶°ÇÀÌ Àû¿ëµÇ±â Àü¿¡ Å×À̺í ÇÔ¼ö°¡ ¼öÇàµÇ±â ¶§¹®ÀÔ´Ï´Ù. |

|ƯÁ¤ ÁÖÁ¦¿¡ subscribeÇÏ´Â µ¥ ´õ ÀÌ»ó °ü·Ã »çÇ×ÀÌ ¾øÀ¸¸é ´ÙÀ½°ú °°Àº |¸í·É¹®À» »ç¿ëÇÏ¿© ¸í½ÃÀûÀ¸·Î unsubscribeÇØ¾ß ÇÕ´Ï´Ù.

|¿¹ 27:

|DB2MQ.MQUNSUBSCRIBE('aSubscriber', 'ALL_EMP')

|ÀÏ´Ü ÀÌ ¸í·É¹®ÀÌ ½ÇÇàµÇ¸é publish/subscribe Áß°³ÀÎÀº ÀÌ subscription°ú ÀÏÄ¡ÇÏ´Â ¸Þ½ÃÁö¸¦ |´õ ÀÌ»ó ¹è´ÞÇÏÁö ¾Ê½À´Ï´Ù.

|ÀÚµ¿ publication

|µ¥ÀÌÅͺ£À̽º ¸Þ½ÃÁöÀÇ ¶Ç ´Ù¸¥ Áß¿äÇÑ ±â¹ýÀº ÀÚµ¿ publicationÀÔ´Ï´Ù. |DB2ÀÇ Æ®¸®°Å ±â´ÉÀ» »ç¿ëÇÏ¿© Æ®¸®°Å È£ÃâÀÇ ÀϺηΠ¸Þ½ÃÁö¸¦ ÀÚµ¿À¸·Î ¹ßÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. |ÀÚµ¿ µ¥ÀÌÅÍ publicationÀ» À§ÇÑ ´Ù¸¥ ¹æ¹ýµéµµ ÀÖÁö¸¸ Æ®¸®°Å¿¡ ±â¹ÝÇÑ Á¢±Ù ¹æ¹ýÀ» »ç¿ëÇϸé |°ü¸®ÀÚ³ª °³¹ßÀÚ°¡ ¸Þ½ÃÁö ³»¿ëÀ» ´õ ÀÚÀ¯·Ó°Ô ±¸¼ºÇÒ ¼ö ÀÖÀ¸¸ç Æ®¸®°Å Á¶Ä¡¸¦ |´õ À¶Å뼺 ÀÖ°Ô Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. |Æ®¸®°Å¸¦ »ç¿ëÇÒ °æ¿ì¿¡´Â ºóµµ ¹× ½ÇÇà ºñ¿ë¿¡ ÁÖÀÇÇØ¾ß ÇÕ´Ï´Ù. |´ÙÀ½Àº MQSeries DB2 ÇÔ¼ö¿Í ÇÔ²² Æ®¸®°Å¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÖ´Â ¿¹ÀÔ´Ï´Ù.

|¾Æ·¡ ¿¹´Â »õ Á÷¿øÀÌ °í¿ëµÉ ¶§¸¶´Ù ½±°Ô ¸Þ½ÃÁö¸¦ ¹ßÇàÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù. |NEW_EMP¿¡ ´ëÇÑ °ü½ÉÀ» µî·ÏÇÏ°í HR_INFO_PUB ¼­ºñ½º¿¡ subscribeÇÑ »ç¿ëÀÚ³ª ÀÀ¿ëÇÁ·Î±×·¥Àº |°¢°¢ÀÇ »õ Á÷¿øÀÇ ³¯Â¥, À̸§ ¹× ºÎ¼­¸¦ Æ÷ÇÔÇÏ´Â ¸Þ½ÃÁö¸¦ ¹Þ°Ô µË´Ï´Ù.

|¿¹ 28:

|CREATE TRIGGER new_employee AFTER INSERT ON employee REFERENCING NEW AS n
|      FOR EACH ROW MODE DB2SQL
|      VALUES DB2MQ.MQPUBLISH('HR_INFO_PUB&',  'NEW_EMP', 
|      current date || ' ' || LASTNAME || ' ' || DEPARTMENT)


[ ÆäÀÌÁöÀÇ ¸Ç À§ | ÀÌÀü ÆäÀÌÁö | ´ÙÀ½ ÆäÀÌÁö | ¸ñÂ÷ | »öÀÎ ]