Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
»ùÓÚActiveMQµÄÏûÏ¢Öмä¼þϵͳÂß¼­ÓëÎïÀí¼Ü¹¹Éè¼Æ¾ßÌå½âÊÍ
 
  3955  次浏览      28
 2018-1-30 
 
±à¼­ÍƼö:

±¾ÎÄÀ´×ÔÓÚcnblogs£¬ÎÄÕ¶Իù±¾½éÉÜÓë×é¼þ¼Ü¹¹Í¼¡¢ÏûÏ¢Á÷ת¼Ü¹¹Í¼¡¢¿çÖÐÐÄÏûϢʱÐòͼ¡¢ ¸ß¿ÉÓã¨Ö÷´Ó£©Óë¸ºÔØ¾ùºâ¼Ü¹¹Í¼¡¢ÏûÏ¢¶ÓÁÐ×é¼þActiveMQÅäÖõÈ×öÁËÏêϸµÄ½²½â¡£

1. »ù±¾½éÉÜÓë×é¼þ¼Ü¹¹Í¼

ά»ù°Ù¿Æ¶ÔÏûÏ¢Öмä¼þµÄ¶¨ÒåÊÇ¡°Message-oriented Middleware is software infrastructure focused on sending and receiving messages between distributed system¡£¡±·Ö²¼Ê½ÏµÍ³ÖÐʵÏÖÏûÏ¢·¢ËͺͽÓÊܵĻù´¡ÉèÊ©¡£

Ëæ×ÅÆóÒµÐÅÏ¢»¯½¨ÉèµÄ²»¶ÏÉîÈë¡£¶àÖÖÒµÎñÓ¦ÓÃÏ໥¹ØÁª£¬easyÔì³Éµ×²ãÊý¾Ý·ÖÉ¢£¬Ó¦ÓÃϵͳ¼äµÄñîºÏ¶È¸ß¡£Õë¶Ô¸ÃÎÊÌâÓ¦´Ó×ÜÌåÉϵ÷ÕûÑÛÏÂϵͳ¼Ü¹¹¡£ÃæÏò²»Í¬ÒµÎñÓ¦ÓÃÌṩͳһµÄÊý¾ÝÔLÎÊ·þÎñ£¬Ê¹ÓÃÏûÏ¢Öмä¼þ¶Ô²»Í¬ÏµÍ³¼äµÄ½»»¥½øÐнâñÏûÏ¢Öмä¼þ¼¼ÊõÓÐÁ½¸öºËÐŦÄÜ£ºÒì²½ºÍ½âñî¡£ÕâÁ½¸öºËÐŦÄÜ×ÜÌåÉÏÌá¸ßÁËÓ¦ÓÃϵͳµÄ¹¤×÷ЧÂÊ£¬ÔöÇ¿ÁËϵͳµÄ¿ÉÓÃÐÔ¡¢Îȶ¨ÐԺͿÉÀ©Õ¹ÐÔ¡£ÌáÉýÁËÓû§ÌåÑé¡£

ʹÓÃOneMMÏûÏ¢Öмä¼þϵͳÄܹ»ÊµÏÖÓ¦ÓÃϵͳ¸÷Ä£¿é¼ä»òÓ¦ÓÃϵͳÓëÆäËüϵͳ£¨ÈçERPϵͳ¡¢Ö§¸¶ÏµÍ³£©Ö®¼äµÄ½âñîÓëÒì²½ÏûÏ¢´«Êä¡£¸Ä±äÖ±½Óͨ¹ýÊý¾Ý¿â¹²Ïí·½Ê½½»»»Êý¾Ý£¬Ôì³Éϵͳ֮¼äµ×²ãÊý¾ÝñîºÏ¶È¹ý¸ßÎÊÌâÒÔ¼°Ô¶³Ì¿çµØÓòÓ¦ÓÃϵͳµÄÊý¾Ý½»»»ÎÊÌâ¡£

OneMMϵͳ×é¼þÂß¼­¼Ü¹¹Í¼ÀýÈçÒÔÏ£º

ÏûÏ¢Öмä¼þ¼Ü¹¹Ö÷Òª×é¼þ˵Ã÷£º

£¨1£©ÏûÏ¢·¢ËÍ×é¼þ£º½ÓÊÕÓ¦ÓÃserver·¢ÆðµÄÍâϵͳµ÷ÓÃÇëÇó¡£²¢½«ÇëÇóÏûÏ¢·¢Ë͵½±¾µØÏûÏ¢¶ÓÁлò¿çÖÐÐÄÏûÏ¢¶ÓÁУ»

£¨2£©ÏûÏ¢½ÓÊÕ×é¼þ£º½ÓÊÕ±¾µØÏûÏ¢¶ÓÁлò¿çÖÐÐÄÏûÏ¢¶ÓÁÐÖеÄÇëÇóÏûÏ¢£¬²¢µ÷ÓÃÍâϵͳÌṩµÄÒµÎñ½Ó¿Ú£»

£¨3£©ÏûϢת·¢×é¼þ£ºÏûϢת·¢Æ÷°ïÖú¿çÖÐÐÄÓ¦ÓýøÐÐÏûϢת·¢£¬ÈçͼÖеÄÖÐÐÄ1ºÍÖÐÐÄ2Ö®¼ä¡£Ó¦ÓÃÄܹ»Í¨¹ýÏûϢת·¢Æ÷½øÐÐÏûÏ¢»¥·¢¡£

£¨4£©ÏûÏ¢´úÀí×é¼þ£ºÏûÏ¢´úÀí×é¼þÖ÷Òª¸ºÔð½ÓÊÕ¿çÖÐÐÄÏûÏ¢£¬²¢½«¿çÖÐÐÄÏûÏ¢ÒÀ¾ÝÏà¹Ø…¢Êý·¢Ë͵½ÏÂͼÖÐÐÄ1µÄ¡°ÇëÇó´¦Àí½á¹ûTopic¶©ÔÄÏûÏ¢¶ÓÁС°»ò·Ö·¢µ½ÖÐÐÄ2µÄÏà¹ØÏêϸҵÎñ¶ÓÁУ»

£¨5£©¶ÓÁйÜÀí×é¼þ£ºÅäÖùÜÀí²»Í¬ÖÐÐÄϵÄËùÓÐÏûÏ¢¶ÓÁС£¼°Ïà¹Øµ÷Óýӿڡ£

£¨6£©ÏûÏ¢¶ÓÁÐ×é¼þ£ºÌṩÏûÏ¢¶ÓÁд´½¨¡¢Ïú»ÙµÈ¶ÓÁвÙ×÷¼°¹ÜÀí¹¦ÄÜ¡£¼Ü¹¹Ê¹ÓÃActiveMQ¿ªÔ´ÏûÏ¢¶ÓÁй¤¾ß¡£

£¨7£©ÏûÏ¢»º´æ×é¼þ£º±¾µØ»ò¿çÖÐÐÄÒì²½ÏûϢͨ¹ýRedis»º´æ×é¼þ»ñµÃ·µ»Ø½á¹ûÏû

2. ÏûÏ¢Á÷ת¼Ü¹¹Í¼

2.1ͬ²½ÏûÏ¢Á÷ת¼Ü¹¹£ºÏûÏ¢·¢ËÍ×é¼þ´´½¨»á»°·¢³öÒì²½ÏûÏ¢ºó£¬Í¬²½Á÷³Ì»á»°Ñ­»·½ÓÊÕTopicÏûÏ¢»Ø¸´¶©ÔĶÓÁеĹ㲥ÏûÏ¢£¬Í¨¹ý»á»°Î¨Ò»±êÊ¶ÍÆ¶ÏÊÇ·ñΪ¸Ã»á»°µÄ½á¹ûÏûÏ¢¡£Êǵϰ·µ»Ø¸øÓ¦Ó㬷ñÔòºöÂÔ¸ÃÏûÏ¢£¬³¬Ê±ºóÖ±½Ó·µ»Ø³¬Ê±¡£Í¬²½ÏûÏ¢Á÷ת¼Ü¹¹Í¼ÀýÈçÒÔÏ£º

2.2Òì²½ÏûÏ¢Á÷ת¼Ü¹¹£º±¾µØ»ò¿çÖÐÐÄÒì²½ÏûϢͨ¹ýRedis»º´æ×é¼þ»ñµÃ·µ»Ø½á¹ûÏûÏ¢¡£Òì²½ÏûÏ¢½á¹û£¬Í¨¹ýн¨»á»°·µ»Ø¡£Éú²úÕß·¢ËÍÏûÏ¢ºó¹Ø±Õ»á»°£¬ÎÞÐèµÈ´ý¡£

ȫȻµÄÒì²½Á÷³ÌÎÞÐè·µ»Ø½á¹ûÏûÏ¢¡£Óû§Í¨¹ý·¢Æð²éѯÇëÇóͨ¹ý»º´æ»ò±¾µØÏµÍ³Êý¾Ý¿â»ñµÃ½á¹û¡£

¿ÉÊÇÔÚijЩÏîĿʵ¼ÊʹÓÃÖУ¬Òì²½»á»°²»»áÂíÉϹرնøÊǵȴý½á¹û¡£±»µ÷ÓÃÕßÔËÐÐÇëÇóºó½«½á¹ûÒÀÕÕÒì²½ÏûÏ¢·¢ËÍÁ÷³ÌÖ÷¶¯·¢ËÍ»ØÈ¥¡£»á»°Í¨¹ýÂÖѯRedis½á¹û»º´æ£¬ÒÀ¾ÝSessionΨһ±êʶ·ûÍÆ¶ÏÊÇ·ñ´æÔڸûỰµÄ·µ»Ø½á¹û£¬»ñµÃ½á¹ûºó½«½á¹û·µ»Ø¸øÇëÇ󷢯ðÕß¡£

Òì²½µÄÌØµãÊDZ»µ÷ÓÃÕßÖ÷¶¯»ñÈ¡ÏûÏ¢¡£²¢Ö÷¶¯Í¨¹ýÆäËü¶ÓÁз¢Ëͽá¹ûÏûÏ¢¡£Õâʱ±»µ÷ÓÃÕßÄܹ»ÒÀ¾Ý×Ô¼ºµÄ״̬ºÍ´¦ÀíÇé¿öÍÆ¶ÏÊÇ·ñ£¨¼°ÔõÑù£©»ñÈ¡ÏûÏ¢¡£ÊÇ·ñ£¨¼°ÔõÑù£©ÔËÐвÙ×÷²¢·µ»Ø½á¹û¡£±»µ÷ÓÃÕßÄܹ»×ÔÐоö¶¨¸ÃÔõÑù²Ù×÷£¬±È·½Äܹ»Åú´¦Àí¡£

Òò´Ë¶ÔÓÚ²¢·¢´¦ÀíÄÜÁ¦½ÏÈõµÄÓ¦Ó㨱»µ÷ÓÃÕߣ©Ó¦’ñÓÃÒì²½·½Ê½Ö÷¶¯½ÓÊÕÏûÏ¢¡£²¢Ö÷¶¯´´½¨»á»°·µ»Ø´¦Àí½á¹ûÏûÏ¢£¬²¢ÒÀ¾Ýʵ¼ÊÇé¿ö¾ö¶¨ÔõÑù´¦Àí¼°·µ»Ø½á¹û£¨±È·½¿É’ñÓÃÅú´¦Àí¼°·µ»ØµÄ·½Ê½£©£¬Ö®ºóÇëÇ󷢯ðÕßͨ¹ýн¨»á»°ÔÚ±¾µØ»º´æ»ò±¾µØÊý¾Ý¿âÖлñÈ¡·µ»Ø½á¹û£¬ÕæÕýʵÏÖÓ¦ÓüäµÄ½âñî¡£

Òì²½ÏûÏ¢Á÷ת¼Ü¹¹Í¼ÀýÈçÒÔÏ£º

3. ¿çÖÐÐÄÏûϢʱÐòͼ

3.1¿çÖÐÐÄÒì²½ÏûÏ¢´¦ÀíʱÐòͼһ

Òì²½ÏûÏ¢½á¹û£¬Í¨¹ýн¨»á»°·µ»Ø¡£

Éú²úÕß·¢ËÍÏûÏ¢ºó¹Ø±Õ»á»°£¬ÎÞÐèµÈ´ý¡£È«È»µÄÒì²½Á÷³ÌÎÞÐè·µ»Ø½á¹ûÏûÏ¢¡£Óû§Í¨¹ý·¢ÆðеIJéѯÇëÇó¡£Í¨¹ý±¾µØ»º´æ»ò±¾µØÊý¾Ý¿â»ñµÃ½á¹û¡£

3.2¿çÖÐÐÄÒì²½ÏûÏ¢´¦ÀíʱÐòͼ¶þ

ÔÚijЩÏîĿʵ¼ÊʹÓÃÖУ¬Òì²½»á»°²»»áÂíÉϹرնøÊǵȴý½á¹û£¬±»µ÷ÓÃÕßÔËÐÐÇëÇóºó½«½á¹ûÒÀÕÕÒì²½ÏûÏ¢·¢ËÍÁ÷³ÌÖ÷¶¯·¢ËÍ»ØÈ¥¡£»á»°Í¨¹ýÂÖѯRedis½á¹û»º´æ¡£ÒÀ¾ÝSessionΨһ±êʶ·ûÍÆ¶ÏÊÇ·ñ´æÔڸûỰµÄ·µ»Ø½á¹û£¬»ñµÃ½á¹ûºó½«½á¹û·µ»Ø¸øÇëÇ󷢯ðÕß¡£Òì²½µÄÌØµãÊDZ»µ÷ÓÃÕßÖ÷¶¯»ñÈ¡ÏûÏ¢¡£²¢Ö÷¶¯Í¨¹ýÆäËü¶ÓÁз¢Ëͽá¹ûÏûÏ¢¡£Õâʱ±»µ÷ÓÃÕßÄܹ»ÒÀ¾Ý×Ô¼ºµÄ״̬ºÍ´¦ÀíÇé¿öÍÆ¶ÏÊÇ·ñ£¨¼°ÔõÑù£©»ñÈ¡ÏûÏ¢¡£ÊÇ·ñ£¨¼°ÔõÑù£©ÔËÐвÙ×÷²¢·µ»Ø½á¹û£¬±»µ÷ÓÃÕßÄܹ»×ÔÐоö¶¨¸ÃÔõÑù²Ù×÷¡£±È·½Äܹ»Åú´¦Àí¡£Òò´Ë²¢·¢´¦ÀíÄÜÁ¦½ÏÈõµÄÓ¦ÓÃÓ¦’ñÓøÃÒì²½·½Ê½Ö÷¶¯´¦ÀíÏûÏ¢¡£¶øÇÒÇëÇ󷢯ðÕßͨ¹ýн¨»á»°ÔÚ±¾µØ»º´æ»ò±¾µØÊý¾Ý¿âÖлñÈ¡½á¹û£¬ÕæÕýʵÏÖÓ¦ÓüäµÄ½âñî¡£

3.3¿çÖÐÐÄͬ²½ÏûÏ¢´¦ÀíʱÐòͼһ

»á»°·¢³öÒì²½ÏûÏ¢ºó£¬»á»°¶ÂÈû£¬Ñ­»·½ÓÊÕTopic Response ¶ÓÁеĹ㲥ÏûÏ¢¡£Í¨¹ýSession Ψһ±êʶ·ûÍÆ¶Ïÿ´ÎÊÕµ½µÄTopic¶©ÔÄÏûÏ¢ÊÇ·ñΪ¸Ã»á»°µÄÇëÇó½á¹ûÏûÏ¢£¬Êǵϰ·µ»Ø¸øÓ¦Ó㬷ñÔòºöÂÔ¸ÃÏûÏ¢£¬¼ÌÐøÑ­»·½ÓÊչ㲥£¬³¬Ê±ºóÖ±½Ó·µ»Ø³¬Ê±¡£

TopicÏûÏ¢²¢²»»áÓÉÓÚµÚÒ»¸öÏûϢûÓб»´¦Àí¶ø·¢Éú¶ÂÈû¡£

ȫȻµÄÒì²½Á÷³ÌÎÞÐè·µ»Ø½á¹ûÏûÏ¢¡£Óû§Í¨¹ý·¢Æð²éѯ¡£Í¨¹ý±¾µØ»º´æ»ò±¾µØÊý¾Ý¿â»ñµÃ½á¹û£»¶ø¿çÖÐÐÄͬ²½Òì²½»¯´¦ÀíÁ÷³ÌÐëÒªµÃµ½Íâϵͳ´¦Àí½á¹û¡£

3.4¿çÖÐÐÄͬ²½ÏûÏ¢´¦ÀíʱÐòͼ¶þ£¨Ê¹ÓÃÔÝʱ¶ÓÁУ©

ͬ²½ÏûÏ¢½á¹û¡£Í¨¹ýÔÝʱ¶ÓÁÐÔÚÒ»´Î»á»°Öзµ»Ø¡£ÔÝʱ¶ÓÁÐÖнö½ö±£´æ±¾´Î»á»°ÖеÄÏûÏ¢¡£Éú²úÕßÐè±£³Ö»á»°£¬µÈ´ý½á¹û·µ»Ø¡£

4. ¸ß¿ÉÓã¨Ö÷´Ó£©Óë¸ºÔØ¾ùºâ¼Ü¹¹Í¼

ÏûÏ¢·¢ËÍÖеĽÓÊÕTopic¶©ÔĽá¹ûÏûÏ¢¶ÓÁÐURLµØÖ·¡¢ÏûÏ¢½ÓÊÕ¶ÓÁÐURLµØÖ·¡¢ÏûÏ¢´úÀíµÄ·¢ËÍÓë½ÓÊÕ¶ÓÁÐURLµØÖ·ÒÔ¼°ÏûϢת·¢Æ÷·¢Ë͵ÄTopic½á¹ûÏûÏ¢¶ÓÁÐURLµØÖ·£¬¾ùÐèÉèÖÃΪFailover µØÖ·¡£

ÓÉÓÚÏûÏ¢¶ÓÁÐ×é¼þActiveMQÊÇÉèÖÃΪÖ÷´ÓµÄ£¬Òò´Ë²»ÂÛʲô×é¼þÁ¬½ÓÏûÏ¢¶ÓÁеÄURLµØÖ·¾ùÐèÅäÖÃΪÖ÷´ÓFailoverµØÖ·¡£

<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" advisorySupport="false">

5. ÏûÏ¢¶ÓÁÐ×é¼þActiveMQÅäÖÃ

ͨ¹ý¸Ä¶¯ÏûÏ¢¶ÓÁÐ×é¼þActiveMQµÄÅäÖÃÎļþactivemq.xml¡£ÒÔ¡°Ð§ÂÊÓÅÏÈ¡±µÄÔ­Ôòµ÷ÕûÏà¹Ø…¢Êý¡£ÅäÖÃ˵Ã÷ÀýÈçÒÔÏ£º

5.1 ActiveMQÏûϢ֪ͨÅäÖÃ

ÏûϢ֪ͨʵÏÖÁËActiveMQµÄBrokerÉϸ÷ÖÖ²Ù×÷µÄ¼Ç¼¸ú×ÙºÍ֪ͨ¡£¿ÉÊÇÔÚʹÓÃÔÝʱ¶ÓÁÐʵÏÖͬ²½ÏûϢʱÎÒÃÇ·¢ÏÖActiveMQ²úÉúÁË´óÁ¿advisory֪ͨÏûÏ¢£¬¶øÇÒÕâЩÏûÏ¢ÖØ¸´ÔÚÍøÂçÖд«Êä¡£ÕâÓпÉÄÜÓëActiveMQ ͬ²½ÏûÏ¢ACK»úÖÆÓйء£

È¡ÏûÏûϢ֪ͨµÄÅäÖ÷½·¨£¬ÔÚÅäÖÃÎļþÀïÌí¼ÓÀýÈçÒÔÏÂÅäÖãº

<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" advisorySupport="false">

5.2ɾ³ý²»»î¶¯µÄ¶ÓÁÐÅäÖÃ

ActiveMQµÄQueueÔÚ²»Ê¹ÓÃÖ®ºó£¬Äܹ»Í¨¹ýweb¿ØÖÆÌ¨»òÊÇJMX·½Ê½À´É¾³ýµô¡£

Ò²Äܹ»Í¨¹ýÅäÖá£Ê¹µÃBrokerÄܹ»×Ô¼ºÖ÷¶¯Ì½œyµ½Ã»ÓõĶÓÁУ¨Ò»¶¨Ê±¼äÄÚΪ¿ÕµÄ¶ÓÁУ©²¢É¾³ýµô£¬»ØÊÕÏìÓ¦×ÊÔ´¡£ÒòΪActiveMQʹÓÃʱ×Ô¼ºÖ÷¶¯´´½¨Destination¡£¶øÇÒĬÈÏÇé¿öϲ»»áɾ³ýµô¡£ÕâÑùµÄ½ö½öÌí¼Ó²»½µµÍ¡£µ¼ÖÂÔÚqueue´´½¨Æµ·±µÄÇé¿öÏ£¬±¾¹¦ÄܺÜʵÓá£

ÅäÖÃÀýÈçÒÔÏ£º

<broker xmlns="http://activemq.apache.org/schema/core" schedulePeriodForDestinationPurge="10000" advisorySupport="false">
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry queue=">" gcInactiveDestinations="true" inactiveTimoutBeforeGC="10000"/>
</policyEntries>
</policyMap>
</destinationPolicy>
</broker>

…¢Êý˵Ã÷£º

1£© schedulePeriodForDestinationPurge£º10000 ÿʮÃë¼ì²éÒ»´Î£¬

Ĭ¾õµÃ0£¬´Ë¹¦ÄܹرÕ

2£© gcInactiveDestinations£ºtrue ɾ³ýµô²»»î¶¯¶ÓÁС£Ä¬¾õµÃfalse

3£© inactiveTimoutBeforeGC£º30000 ²»»î¶¯30Ãëºóɾ³ý£¬Ä¬¾õµÃ60Ãë

5.3ËÀÐŶÓÁÐÅäÖÃ

DLQ-ËÀÐŶÓÁÐ(Dead Letter Queue)ÓÃÀ´±£´æ´¦Àíʧ°Ü»òÕß¹ýÆÚµÄÏûÏ¢¡£³öÏÖÏÂÃæÇé¿öʱ£¬ÏûÏ¢»á±»ÔÙͶµÝ

1£©A transacted session is used and rollback() is called.

2£©A transacted session is closed before commit is called.

3£©A session is using CLIENT_ACKNOWLEDGE and Session.recover() is called.

µ±Ò»¸öÏûÏ¢±»redelivered³¬¹ýmaximumRedeliveries£¨È±Ê¡Îª6´Î£©´ÎÊýʱ£¬»á¸øbroker·¢ËÍÒ»¸ö"Poison ack"¡£Õâ¸öÏûÏ¢±»¾õµÃÊÇa poison pill£¬Õâʱbroker»á½«Õâ¸öÏûÏ¢·¢Ë͵½DLQ£¬ÒÔ±ãÐËÐí´¦Àí¡£

ȱʡµÄËÀÐŶÓÁÐÊÇActiveMQ.DLQ¡£¼ÙÉèûÓÐÌØ±ðÖ¸¶¨¡£ËÀÐŶ¼»á±»·¢Ë͵½Õâ¸ö¶ÓÁС£È±Ê¡³Ö¾ÃÏûÏ¢¹ýÆÚ£¬»á±»Ë͵½DLQ£¬·Ç³Ö¾ÃÏûÏ¢²»»áË͵½DLQ

ȱʡȫ²¿¶ÓÁеÄËÀÐÅÏûÏ¢¶¼±»·¢Ë͵½Í¬Ò»¸öȱʡËÀÐŶÓÁÐ(ActiveMQ.DLQ)¡£²»±ãÓÚ¹ÜÀí¡£Äܹ»Í¨¹ýindividualDeadLetterStrategy»òsharedDeadLetterStrategy²ßÂÔÀ´½øÐи͝¡£

Éú²ú»·¾³µÄÅäÖÃÀýÈçÒÔÏ£º

<policyEntry queue=">">
<deadLetterStrategy>
<!-- Use the prefix 'DLQ.' for the destination name, and make
the DLQ a queue rather than a topic -->
<individualDeadLetterStrategy queuePrefix="DLQ." useQueueForQueueMessages="true" />
</deadLetterStrategy>
</policyEntry>

queuePrefix:ÉèÖÃËÀÐŶÓÁÐǰ׺

useQueueForQueueMessages: ÉèÖÃʹÓöÓÁб£´æËÀÐÅ¡£»¹Äܹ»ÉèÖÃuseQueueForTopicMessages£¬Ê¹ÓÃTopicÀ´±£´æËÀÐÅ

5.4 ÏûÏ¢¶ÓÁÐÊý¹ý¶àÎÊÌâ

ĬÈϵÄÏûÏ¢¶ÓÁÐÅäÖÃÖÐʹÓÃÒ»¸ö¶ÀÁ¢µÄÏ̸߳ºÔð½«ÏûÏ¢´æ´¢ÖеÄÏûÏ¢ÌáÈ¡µ½ÏûÏ¢¶ÓÁÐÖУ¬¶øºóÔÙ±»·Ö·¢µ½¶ÔÆä¸ÐÐËȤµÄÏûÏ¢Ïû·ÑÕß¡£¼ÙÉèÓдóÁ¿µÄÏûÏ¢¶ÓÁÐ,½¨Òéͨ¹ýÆôÓÃoptimizeDispatchÕâ¸öÊôÐÔ¸ÄÉÆÕâ¸öÌØÐÔ£¬ÑÝʾÑùÀý´úÂëÀýÈçÒÔÏÂËù¿´µ½µÄ£º

<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry queue=">" optimizedDispatch="true"/>
</policyEntries>
</policyMap>
</destinationPolicy>

´úÂëÇåµ¥ÖÐʹÓÃͨÅä·û¡°>¡±±íʾ¸ÃÅäÖûáµÝ¹éµÄÓ¦Óõ½È«²¿µÄÏûÏ¢¶ÓÁÐÖС£

6. ×ܽá

6.1Ϊʲô²»ÄÜʹÓÃActiveMQÔÝʱ¶ÓÁÐʵÏÖͬ²½ÏûÏ¢

1£©Ã¿¸öÏûÏ¢Éú³ÉÒ»¸öÔÝʱ¶ÓÁС£ÒÀ¾ÉÊDz¢·¢ÔLÎÊûÓвúÉú¡°¶ÓÁС±µÄЧ¹û£»

2£©ÓÉÓÚҪͨ¹ýÔÝʱ¶ÓÁÐά³Öÿ¸ö»á»°Á¬½Ó²»¶Ï¿ª¡£µ±´óÁ¿»á»°Í¬Ò»Ê±ºòµ½À´Ê±»áÔì³ÉÍøÂçÓµ¶Â£¬ÔÝʱ¶ÓÁÐûÓÐÒì²½¸ßËÙ´«µÝÏûÏ¢µÄЧ¹û£»

3£©Í¬Ò»Ê±ºòÒ²»áÔì³ÉÒ»´¦×èÈû£¬´¦´¦×èÈûµÄ»ðÉÕÁ¬ÓªµÄЧ¹û¡£

6.2Òì²½ÏûÏ¢µÄÓÅÊÆºÍÌØµã

ËùνÒì²½´«Êä¡£¾ÍÊǵ±ÎÒ½«ÏûÏ¢´«µÝ¸øÄãºó£¬¸ÃÏûÏ¢¾ÍÓëÎÒÎÞ¹ØÁË¡£ÏûÏ¢ÔÚ²»Í¬Ó¦ÓûòÉ豸֮¼ä´«µÝ¡£µ«Ó¦ÓûòÉ豸±Ë´Ë²¢²»ÐëÒª¹ØÁª£¨ÔÚÒ»´Î»á»°¼ä½¨Á¢³¤Á¬½Ó£©¡£¼´ÈÃÏûϢͨ¹ý²»Í¬»á»°ÔÚÍøÂçÖнøÐжÌÁ¬½Ó¸ßËÙ´«µÝ£¬ÊµÏÖÓ¦ÓûòÉ豸֮¼äµÄ½âñî¡£

Òì²½´«ÊäµÄÌØÕ÷ÊǻỰ²ã’ñÓöÌÁ¬½Ó£¬ÍøÂç²ã¸ü¼ÓÎȶ¨¡£

Òì²½´«ÊäµÄ¹Ø¼üÔÚÓÚ£ºÏûÏ¢´«µÝµÄËÙ¶È¡£ÏûÏ¢´«ÊäµÄËÙ¶ÈÔ½¿ì¡£»á»°Á¬½ÓµÄʱ¼äÒ²¾ÍÔ½¶Ì¡£ÏµÍ³¸ü¼ÓÎȶ¨£¨²»»áÓÉÓÚÊý¾Ý¶ÂÈûÔì³É³¬Ê±¡¢ÍøÂç¶ÂÈû¡¢ÄÚ´æÒç³öµÈÎÊÌ⣩£¬ÏµÍ³µÄЧÂʸü¸ß¡£¾ÍÏñÈËÌåµÄѪҺѭ»·£¨Ìá¸ßѪҺѭ»·µÄËٶȵĹؼüÔÚÓÚ£¬Ò»ÊÇÍÆ¶¯ÑªÒºÔ˶¯µÄ¡°Á¦¡±Òª×㣬¶þÊÇѪ֬ҪµÍ½µµÍ×èÁ¦£©¡£Òò´ËÄܹ»ËµÌá¸ß»¥ÁªÍøÓ¦ÓÃÎȶ¨ÐÔµÄÒª¾÷ÔÚÓÚ£º²»¶ÏÌá¸ßÊý¾Ý´«ÊäµÄËÙ¶È¡£ÔÚ´ó²¢·¢µÄÇé¿öÏÂÒª×öµ½ÕâÒ»µã£¬Ò»ÊÇÒª’ñÓÃÒì²½·½Ê½Ê¹ÓöÌÁ¬½Ó´«Ê䣬¼ÙÉè»á»°Á¬½Ó³¤Ê±¼ä²»¶Ï¿ª£¨³¤Á¬½Ó£©£¬µ±´óÁ¿»á»°Í¬Ò»Ê±ºòµ½À´Ê±»áÔì³ÉÍøÂçÓµ¶Â£»¶þÊǶÔÊý¾Ý´«Ê価¿ÉÄܵÄѹËõ£»ÈýÊÇÌá¸ßÊý¾Ý´¦ÀíµÄÄÜÁ¦¡£

»¥ÁªÍø¿ª·¢ÎÞСÊ¡£ÓÉÓÚ»¥ÁªÍøÓ¦ÓÃÒªÃæ¶Ôº£Á¿ÐÅÏ¢£¬Ò»¸öССµÄÎÊÌâÒ²Äܱ»ÎÞÏ޷Ŵ󣬾ÍÏñÍôÑóÖеĺûµûЧӦ¡£Ò»¸ö»¥ÁªÍøÓ¦Óã¨Èç±¾ÎÄËù˵µÄÏûÏ¢Öмä¼þ£©Óöµ½µÄÎÊÌâ¿ÉÄÜÓëϵͳ¡¢ÍøÂç¡¢Ó¦Óᢼܹ¹¡¢Êý¾ÝµÈ¸÷¸ö²ãÃæµÄÎÊÌâÓйأ¬½ö½öÓÐÄÍÐÄ·¢ÏÖ²¢´¦ÀíºÃÿ¸öÏà¹Ø²ãÃæµÄÎÊÌâ¡£²Å¸ÉÖÕÓÚÐγÉÒ»¿îºÃµÄ»¥ÁªÍøÓ¦Óá£Ê±¿ÌÌáÐÑ×Ô¼ºµ±ÏÂÒ»²¨¾ÞÀ˵½À´Ç°ÎÒÃÇ»á×¼±¸µÄ¸üºÃ¡£

   
3955 ´Îä¯ÀÀ       28
Ïà¹ØÎÄÕÂ

ÆóÒµ¼Ü¹¹¡¢TOGAFÓëArchiMate¸ÅÀÀ
¼Ü¹¹Ê¦Ö®Â·-ÈçºÎ×öºÃÒµÎñ½¨Ä££¿
´óÐÍÍøÕ¾µçÉÌÍøÕ¾¼Ü¹¹°¸ÀýºÍ¼¼Êõ¼Ü¹¹µÄʾÀý
ÍêÕûµÄArchimateÊÓµãÖ¸ÄÏ£¨°üÀ¨Ê¾Àý£©
Ïà¹ØÎĵµ

Êý¾ÝÖÐ̨¼¼Êõ¼Ü¹¹·½·¨ÂÛÓëʵ¼ù
ÊÊÓÃArchiMate¡¢EA ºÍ iSpace½øÐÐÆóÒµ¼Ü¹¹½¨Ä£
ZachmanÆóÒµ¼Ü¹¹¿ò¼Ü¼ò½é
ÆóÒµ¼Ü¹¹ÈÃSOAÂ䵨
Ïà¹Ø¿Î³Ì

ÔÆÆ½Ì¨Óë΢·þÎñ¼Ü¹¹Éè¼Æ
ÖÐ̨սÂÔ¡¢ÖÐ̨½¨ÉèÓëÊý×ÖÉÌÒµ
ÒÚ¼¶Óû§¸ß²¢·¢¡¢¸ß¿ÉÓÃϵͳ¼Ü¹¹
¸ß¿ÉÓ÷ֲ¼Ê½¼Ü¹¹Éè¼ÆÓëʵ¼ù