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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
RabbitMQµ×²ãÔ­Àí·ÖÎö
 
  7544  次浏览      29
 2019-9-20
 
±à¼­ÍƼö:

±¾ÎÄÀ´×ÔÓÚdouban£¬ÎÄÕ½éÉÜÁËRabbitMq£¬AMQP ЭÒéÖеĻù±¾¸ÅÄÒÔ¼°ÈçºÎÔÚ¼ÆËã»úÉϲ¿ÊðRabbitMqµÄ·þÎñ¶ËµÈÏà¹ØÄÚÈÝ¡£

RabbitMqÏûÏ¢Öмä¼þ½éÉÜ&ΪʲôҪʹÓÃÏûÏ¢Öмä¼þ&ʲôʱºòʹÓÃÏûÏ¢Öмä¼þ

ÎÒÃÇÓÃjavaÀ´¾ÙÀý×Ó£¬ ´ò¸ö±È·½ ÎÒÃǿͻ§¶Ë·¢ËÍÒ»¸öϵ¥ÇëÇó¸ø¶©µ¥ÏµÍ³£¨order£©¶©µ¥ÏµÍ³·¢ËÍÁË

Ò»¸öÇëÇó¸øÎÒÃÇµÄ¿â´æÏµÍ³¸æËßËûÐèÒª¸ü¸Ä¿â´æÁË£¬ ÎÒÒѾ­Ïµ¥ÁË£¬ ÕâÀ ÿһ¸öÇëÇóÎÒÃǶ¼¿ÉÒÔ¿´×÷Ò»ÌõÏûÏ¢£¬

µ«ÊÇ ÎÒÃǿͻ§¶ËÐèÒªµÈ´ý¶©µ¥ÏµÍ³¸æËßÎÒÕâÌõÏûÏ¢µÄ´¦Àí½á¹û£¨ÎÒµ½µ×ÓÐûÓÐϵ¥³É¹¦£© µ«ÊÇ ¶©µ¥ÏµÍ³²»ÐèÒªÖªµÀ¿â´æÏµÍ³ÕâÌõÏûÏ¢µÄ´¦ÀíÇé¿ö ÒòΪÎÞÂÛÄã¿â´æÓÐûÓи͝³É¹¦£¬ ÎÒ¶©µ¥»¹ÊÇÏÂÁË£¬ ÒòΪÊÇÏÈÏÂÍêÁ˶©µ¥£¨Ï³ɹ¦ÁË£© ²ÅÈ¥¸ü¸Ä¿â´æ£¬ ¿â´æÈç¹û¸ü¸Ä³öBUGÁË ÄÇÊÇ¿â´æÏµÍ³µÄÎÊÌ⣬ Õâ¸öBUG²»»áÓ°Ïì¶©µ¥ÏµÍ³¡£Èç¹ûÕâÀïÄãÄÜÀí½âµÄ»°£¬ ÄÇôÎÒÃǾÍÄÜ·¢ÏÖ ÎÒÃÇÓû§·¢Ë͵ÄÕâÌõÏûÏ¢£¨Ï¶©µ¥£©£¬ ÊÇÐèҪͬ²½µÄ£¨ÎÒÐèÒªÖªµÀ½á¹û£©£¬ ¶©µ¥·¢Ë͸ø¿â´æµÄÏûÏ¢£¬ÊÇ¿ÉÒÔÒì²½µÄ£¨ÎÒ²»ÏëÖªµÀÄã¿â´æµ½µ×¸ÄÁËû£¬ ÎÒÖ»ÊÇ֪ͨÄãÎÒÕâ±ß³É¹¦ÏÂÁËÒ»¸ö¶©µ¥£©

ÄÇôÈç¹ûÎÒÃÇ»¹°´Ô­À´µÄ·½Ê½È¥ÊµÏÖÕâ¸öÐèÇóµÄ»°£¬ ÄÇô½á¹û»áÊÇÕâÑù£º

ÄÇ¿ÉÄÜÓÐͬѧ˵ÁË£¬ ÎÒÃǶ©µ¥ÏµÍ³¿ª±ÙÏß³ÌÈ¥·ÃÎÊ¿â´æÏµÍ³²»¾ÍºÃÁËÂð£¿

##

ʹÓÃÏ̳߳ؽâ¾ö ȷʵ¿ÉÒÔ£¬ µ«ÊÇÒ²ÓÐËûµÄȱµã£¬ ÄÇô µ½µ×ÔõôÀ´ÍêÃÀ½â¾öÕâ¸öÎÊÌâÄØ£¿

Èç¹ûÕâÕÅͼÄÜÀí½âµÄ»°£¬ ÄÇô Õâ¸öÏûϢϵͳ£¬ ¾ÍÊÇÎÒÃǵÄÏûÏ¢Öмä¼þ¡£

RabbitMq½éÉÜ&AMQP½éÉÜ

µ¼Óï:ÎÒÃǸոսéÉÜÁËʲôÊÇÏûÏ¢Öмä¼þ£¬ ÄÇôRabbitMq¾ÍÊǶÔÓÚÏûÏ¢Öмä¼þµÄÒ»ÖÖʵÏÖ£¬ÊÐÃæÉÏ»¹ÓкܶàºÜ¶àʵÏÖ£¬ ±ÈÈçRabbitMq¡¢ActiveMq¡¢ZeroMq¡¢kafka£¬ÒÔ¼°°¢À↑ԴµÄRocketMQµÈµÈ ÎÒÃÇÕâ½ÚÖ÷Òª½²RabbitMq

AMQP

ÕâÀïÒýÓðٶȵÄÒ»¾ä»° ÔÙ¼ÓÒÔÎÒµÄÀí½â£º AMQP ÆäʵºÍHttpÒ»Ñù ¶¼ÊÇÒ»ÖÖЭÒ飬 Ö»²»¹ý HttpÊÇÕë¶ÔÍøÂç´«ÊäµÄ£¬ ¶øAMQPÊÇ»ùÓÚÏûÏ¢¶ÓÁеÄ

AMQP ЭÒéÖеĻù±¾¸ÅÄ

Broker: ½ÓÊպͷַ¢ÏûÏ¢µÄÓ¦Óã¬ÎÒÃÇÔÚ½éÉÜÏûÏ¢Öмä¼þµÄʱºòËù˵µÄÏûϢϵͳ¾ÍÊÇMessage Broker¡£

Virtual host: ³öÓÚ¶à×â»§ºÍ°²È«ÒòËØÉè¼ÆµÄ£¬°ÑAMQPµÄ»ù±¾×é¼þ»®·Öµ½Ò»¸öÐéÄâµÄ·Ö×éÖУ¬ÀàËÆÓÚÍøÂçÖеÄnamespace¸ÅÄî¡£µ±¶à¸ö²»Í¬µÄÓû§Ê¹ÓÃͬһ¸öRabbitMQ serverÌṩµÄ·þÎñʱ£¬¿ÉÒÔ»®·Ö³ö¶à¸övhost£¬Ã¿¸öÓû§ÔÚ×Ô¼ºµÄvhost´´½¨exchange£¯queueµÈ¡£

Connection: publisher£¯consumerºÍbrokerÖ®¼äµÄTCPÁ¬½Ó¡£¶Ï¿ªÁ¬½ÓµÄ²Ù×÷Ö»»áÔÚclient¶Ë½øÐУ¬Broker²»»á¶Ï¿ªÁ¬½Ó£¬³ý·Ç³öÏÖÍøÂç¹ÊÕÏ»òbroker·þÎñ³öÏÖÎÊÌâ¡£

Channel: Èç¹ûÿһ´Î·ÃÎÊRabbitMQ¶¼½¨Á¢Ò»¸öConnection£¬ÔÚÏûÏ¢Á¿´óµÄʱºò½¨Á¢TCP ConnectionµÄ¿ªÏú½«ÊǾ޴óµÄ£¬Ð§ÂÊÒ²½ÏµÍ¡£ChannelÊÇÔÚconnectionÄÚ²¿½¨Á¢µÄÂß¼­Á¬½Ó£¬Èç¹ûÓ¦ÓóÌÐòÖ§³Ö¶àỊ̈߳¬Í¨³£Ã¿¸öthread´´½¨µ¥¶ÀµÄchannel½øÐÐͨѶ£¬AMQP method°üº¬ÁËchannel id°ïÖú¿Í»§¶ËºÍmessage brokerʶ±ðchannel£¬ËùÒÔchannelÖ®¼äÊÇÍêÈ«¸ôÀëµÄ¡£Channel×÷ΪÇáÁ¿¼¶µÄConnection¼«´ó¼õÉÙÁ˲Ù×÷ϵͳ½¨Á¢TCP connectionµÄ¿ªÏú¡£

Exchange: messageµ½´ïbrokerµÄµÚÒ»Õ¾£¬¸ù¾Ý·Ö·¢¹æÔò£¬Æ¥Åä²éѯ±íÖеÄrouting key£¬·Ö·¢ÏûÏ¢µ½queueÖÐÈ¥¡£³£ÓõÄÀàÐÍÓУºdirect (point-to-point), topic (publish-subscribe) and fanout (multicast)¡£

Queue: ÏûÏ¢×îÖÕ±»Ë͵½ÕâÀïµÈ´ýconsumerÈ¡×ß¡£Ò»¸ömessage¿ÉÒÔ±»Í¬Ê±¿½±´µ½¶à¸öqueueÖС£

Binding: exchangeºÍqueueÖ®¼äµÄÐéÄâÁ¬½Ó£¬bindingÖпÉÒÔ°üº¬routing key¡£BindingÐÅÏ¢±»±£´æµ½exchangeÖеIJéѯ±íÖУ¬ÓÃÓÚmessageµÄ·Ö·¢ÒÀ¾Ý¡£

ExchangeµÄÀàÐÍ:

direct :

ÕâÖÖÀàÐ͵Ľ»»»»úµÄ·ÓɹæÔòÊǸù¾ÝÒ»¸öroutingKeyµÄ±êʶ£¬½»»»»úͨ¹ýÒ»¸öroutingKeyÓë¶ÓÁÐ°ó¶¨ £¬ÔÚÉú²úÕßÉú²úÏûÏ¢µÄʱºò Ö¸¶¨Ò»¸öroutingKey µ±°ó¶¨µÄ¶ÓÁеÄroutingKey ÓëÉú²úÕß·¢Ë͵ÄÒ»Ñù ÄÇô½»»»»ú»á°ÉÕâ¸öÏûÏ¢·¢Ë͸ø¶ÔÓ¦µÄ¶ÓÁС£

fanout:

ÕâÖÖÀàÐ͵Ľ»»»»ú·ÓɹæÔòºÜ¼òµ¥£¬Ö»ÒªÓëËû°ó¶¨Á˵ĶÓÁУ¬ Ëû¾Í»á°ÉÏûÏ¢·¢Ë͸ø¶ÔÓ¦¶ÓÁУ¨ÓëroutingKeyû¹ØÏµ£©

topic:(ÒòΪ*ÔÚÕâ¸ö±Ê¼ÇÈí¼þÀïÃæÊǹؼü×Ö£¬ËùÒÔÏÂÃæ¾ÍÓÃÐÇÌæ»»µôÁË)ÕâÖÖÀàÐ͵Ľ»»»»ú·ÓɹæÔòÒ²ÊǺÍroutingKeyÓÐ¹Ø Ö»²»¹ý topicËû¿ÉÒÔ¸ù¾Ý:ÐÇ,#£¨ ÐǺŴú±í¹ýÂËÒ»µ¥´Ê£¬#´ú±í¹ýÂ˺óÃæËùÓе¥´Ê£¬ ÓÃ.¸ô¿ª£©À´Ê¶±ðroutingKey ÎÒ´ò¸ö±È·½ ¼ÙÉè ÎҰ󶨵ÄroutingKey ÓжÓÁÐAºÍB AµÄroutingKeyÊÇ£ºÐÇ.user BµÄroutingKeyÊÇ: #.user

ÄÇôÎÒÉú²úÒ»ÌõÏûÏ¢routingKey Ϊ£º error.user ÄÇô´Ëʱ 2¸ö¶ÓÁж¼ÄܽÓÊܵ½£¬ Èç¹û¸ÄΪ topic.error.user ÄÇôÕâʱºò Ö»ÓÐBÄܽÓÊܵ½ÁË

headers:Õâ¸öÀàÐ͵Ľ»»»»úºÜÉÙÓõ½£¬ËûµÄ·ÓɹæÔò ÓëroutingKeyÎÞ¹Ø ¶øÊÇͨ¹ýÅжÏheader²ÎÊýÀ´Ê¶±ðµÄ£¬ »ù±¾ÉÏûÓÐÓ¦Óó¡¾°£¬ÒòΪÉÏÃæµÄÈýÖÖÀàÐÍÒѾ­ÄÜÓ¦¸¶ÁË¡£

RabbitMQ

MQ£º message Queue ¹ËÃû˼Òå ÏûÏ¢¶ÓÁУ¬ ¶ÓÁдó¼Ò¶¼ÖªµÀ£¬ ´æ·ÅÄÚÈݵÄÒ»¸ö¶«Î÷£¬ ´æ·ÅµÄÄÚÈÝÏȽøÏȳö£¬ ÏûÏ¢¶ÓÁУ¬ Ö»ÊÇÀïÃæ´æ·ÅµÄÄÚÈÝÊÇÏûÏ¢¶øÒÑ¡£

RabbitMq ÊÇÒ»¸ö¿ªÔ´µÄ »ùÓÚAMQPЭÒéʵÏÖµÄÒ»¸öÍêÕûµÄÆóÒµ¼¶ÏûÏ¢Öмä¼þ£¬·þÎñ¶ËÓïÑÔÓÉErlang£¨ÃæÏò²¢·¢±à³Ì£©ÓïÑÔ±àд ¶ÔÓڸ߲¢·¢µÄ´¦ÀíÓÐ×ÅÌìÈ»µÄÓÅÊÆ£¬¿Í»§¶ËÖ§³Ö·Ç³£¶àµÄÓïÑÔ£º

Python

Java

Ruby

PHP

C#

JavaScript

Go

Elixir

Objective-C

Swift

RabbitMQ·þÎñ¶Ë²¿Êð

ÔÚ½éÉÜÏûÏ¢Öмä¼þµÄʱºòËùÌáµ½µÄ¡°ÏûϢϵͳ¡± ±ãÊÇÎÒÃÇÕâ½ÚµÄÖ÷Ì⣺RabbitMq ÈçͬredisÒ»Ñù ËûÒ²ÊDzÉÓÃc/s¼Ü¹¹ ÓÉ·þÎñ¶Ë Óë¿Í»§¶Ë×é³É£¬ ÎÒÃÇÏÖÔÚÎÒÃǼÆËã»úÉϲ¿ÊðËûµÄ·þÎñ¶Ë

ÓÉÓÚÎÒÃǸոսéÉܹýÁËRabbitMQ·þÎñ¶ËÊÇÓÉErlangÓïÑÔ±àдËùÒÔÎÒÃÇÕâÀïÏÈÏÂÔØErlangÓïÑԵĻ·¾³

×¢Ò⣺Èç¹ûÊÇÔÚ¹ÙÍøÏµÄRabbitMQ·þÎñ¶ËµÄ»° ErlangÓïÑԵİ汾²»ÄÜÌ«µÍ£¬ ²»È»ÒªÐ¶Ôصô¾ÉµÄÈ¥×°Ðµģ¬ ÎÒÃÇÕâÀïÏÂÔØOTP21.0°æ±¾Ö±½Ó´ÓÍâÍøÏÂÔØ»áºÜÂý£¬ ÎÒÕâÀïÖ±½ÓÌùÉϰٶÈÍøÅ̵ĵØÖ·(ÒòΪÕâ¸ö¶«Î÷»¹ÊÇÓеã´óµÄ)

https://pan.baidu.com/s/1pZJ8l2f3omrgnuCm9a8DVA

ÎÒÃÇÔÙÈ¥¹ÙÍøÏÂÔØ ËûµÄ·þÎñ¶Ë°²×°°ü

https://www.rabbitmq.com/download.html

¸ù¾Ý×Ô¼ºµÄϵͳѡÔñÏÂÔØ¼´¿É

×¢Ò⣡ ÐèÒªÏÈÏÂÔØErlangÔÙÏÂÔØ°²×°°ü°²×°£¬ ²»È»°²×°RabbitMQ·þÎñ¶ËµÄʱºò»áÌáʾÄã±¾µØÃ»ÓÐErlang»·¾³

°²×°µÄ»°£¬ »ù±¾ÉϾÍÊÇĬÈϵÄÑ¡Ïî²»ÓøÄ

ÈçºÎ¿´RabbitMq°²×°Íê³ÉÁË£¿ ÔÚϵͳ-·þÎñÖÐÕÒµ½Èçϼ´¿É£º

°üÀ¨Æô¶¯ Í£Ö¹ ÖØÆô ·þÎñµÈ

RabbitMQ°²×°»á¸½´øÒ»¸ö¹ÜÀí¹¤¾ß£¨·½±ãÎÒÃÇÄÜÖ±¹ÛµÄ²é¿´Õû¸öRabbitMQµÄÔËÐÐ״̬ºÍÏêϸÊý¾ÝµÈ£¬ÓеãÏñNavicat ¶ÔÓ¦MysqlµÄ¹ØÏµ£© ÖµµÃÒ»ÌáµÄÊÇ£¬ ¹ÜÀí¹¤¾ßºÍRabbitMQÊÇÁ½ÂëÊ ϣÍûͬѧÃDz»Òª»ìÏ¡ÁË¡£

¹ÜÀí¹¤¾ßÆô¶¯·½Ê½£º

µ½ÄãÃǰ²×°µÄ RabbitMQ Server\rabbitmq_server-3.7.12\sbin Ŀ¼ÏÂÃæ Ö´ÐÐÒ»ÌõcmdÃüÁ

rabbitmq-plugins enable rabbitmq_management

Ö±½Ó¸´ÖÆÕâÌõÃüÁî¼´¿É £¬ µ±È» ÏÓÿ´Î¶¼ÒªÈ¥Ä¿Â¼ÖÐÈ¥Ö´ÐеÄÂé·³µÄ»°£¬ ¿ÉÒÔÅäÖÃÒ»¸ö»·¾³±äÁ¿ »òÕßÔÚÎÒÃǵĿªÊ¼²Ëµ¥À¸ÖÐÕÒµ½Õâ¸ö£º

ÊäÈëÍêÆô¶¯ÃüÁîºó ÉÔ΢µÈһϻáÓнá¹û·µ»Ø È»ºó¿ÉÒÔ´ò¿ªä¯ÀÀÆ÷ ÊäÈë

http://127.0.0.1:15672

·ÃÎʹÜÀíÒ³Ãæ£º

ĬÈÏÕ˺ÅÃÜÂë¶¼ÊÇ

guest ¼´

username £ºguest

password£ºguest

µÇ¼½øÈ¥Ö®ºó»á¿´µ½ÈçϽçÃæ£¨ÒòΪÎÒ²»Ð¡ÐÄ×°ÁË2´ÎRabbitMq ËùÒÔÕâÀïÄÜ¿´µ½¶¼Öظ´ÁË£¬ ÄãÃÇ×Ô¼ºÄDz»»áÖØ¸´£¬È»ºóÎÒÃǸոÕ˵ÁË ¹ÜÀí¹¤¾ßºÍrabbitmq ÊÇÁ½ÂëÊ ËùÒÔ¶Ë¿ÚÒ²¾Í²»Ò»Ñù£©

Õâ¸öÒ³ÃæÔڱʼÇÀïÃæ½éÉÜÆðÀ´¿ÉÄܱȽϸ´ÔÓ£¬ ¾Í²»Ò»Ò»½éÉÜÁË£¬ ÎÒÕâÀï½²¸öÖØµã£¬ ¾ÍÊÇÏßÉÏ»·¾³ÏÂÒ»¶¨Òª°ÉguestÓû§£¨µ±È» guestÕâ¸öÓû§Ö»Äܱ¾»ú²ÅÄܵǽ£©É¾µô²¢ÇÒмÓÒ»¸öÓû§£¬ ÕâÀï¾ÍÑÝʾһÏÂÕâ¸ö¹¦ÄÜ

Ê×ÏÈ µã»÷adminҳǩ£¬ ÔÚÏÂÃæÕÒµ½Add User

È»ºóÊäÈëÕ˺ŠÃÜÂë È·ÈÏÃÜÂë Õâ¸öTagsÆäʵÊÇÒ»¸öÓû§È¨ÏÞ±êÇ©£¬ ¹ØÓÚËûµÄ½éÉÜ¿ÉÒÔ¿´¹Ù·½½éÉÜ£¨µãÅÔ±ßÄǸöСÎʺžͺÃÁË£¬ÎÒÕâÀïÖ±½Ó·­ÒëËûµÄ½éÉÜ£©

ÌîдÍêÖ®ºóµã»÷AddUser ¾Í¿ÉÒÔÌí¼ÓÒ»¸öÓû§ÁË£¬ Ìí¼ÓÍêÓû§Ö®ºó»¹Òª¸øÕâ¸öÓû§Ìí¼Ó¶ÔÓ¦µÄȨÏÞ£¨×¢£ºTarg²»µÈÓÚȨÏÞ£©

±ÈÈç˵ ÎÒ¸Õ¸ÕÌí¼ÓÁËÒ»¸öjojo½ÇÉ«

µã»÷Õâ¸öjojo¿ÉÒÔ½øÈ¥¸øËûÌí¼ÓȨÏÞ Õâ¸öȨÏÞ¿ÉÒÔÊÇ Virtual host ¼¶±ðµÄ Ò²¿ÉÒÔÊǽ»»»»ú¼¶±ðµÄ ÉõÖÁÊÇϸ»¯µ½Ä³Ò»¸ö¶Áд²Ù×÷ ÎÒÕâÀï¾Í¸øËûÌí¼ÓÒ»¸öVirtual hostȨÏÞ

ÕâÀï ÎÒÃǸøÁËËû testhostÕâ¸öVirtual hostµÄȨÏÞ ÕýÔòÆ¥Åä¶¼ÊÇ* Ò²¾ÍÊÇËùÓÐȨÏÞ

È»ºóµã»÷setÌí¼ÓÍê±Ï

ÄÇô¹ÜÀíÒ³Ãæ ÎÒÃǾͽ²µ½ÕâÀï

RabbitMq¿ìËÙ¿ªÊ¼

ÒòΪÎÒÃÇÕâÀïÊÇÓÃjavaÀ´×÷Ϊ¿Í»§¶Ë£¬ ÎÒÃÇÊ×ÏÈÒýÈëmavenÒÀÀµ£º

<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>5.1.2</version>
</dependency>

£¨×¢ÒâµÄÊÇ£¬ ÎÒÕâÀïÒýÈëµÄÊÇ5.xµÄrabbitmq¿Í»§¶Ë°æ±¾£¬ ÄÇôÎÒÃÇjdkµÄ°æ±¾×îºÃÔÚ8ÒÔÉÏ£¬·´Ö®£¬ ÕâÀï¾Í½¨ÒéʹÓÃ4.xµÄ°æ±¾£¬ÕâÀï½ö½öÌÖÂÛjdk8 ÆäËûµÄ°æ±¾²»×öÌÖÂÛ£©

Ê×ÏÈ ÎÒÃDZàдһ¸öÁ¬½ÓµÄ¹¤¾ßÀࣺ

packagecom.luban.util;

importcom.rabbitmq.client.Connection;
importcom.rabbitmq.client.ConnectionFactory;

importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;

public classConnectionUtil {


public static final StringQUEUE_NAME = "testQueue";

public static final StringEXCHANGE_NAME = "exchange";



public static Connection getConnection() throws Exception{
//´´½¨Ò»¸öÁ¬½Ó¹¤³§
ConnectionFactory connectionFactory = new ConnectionFactory();
//ÉèÖÃrabbitmq ·þÎñ¶ËËùÔÚµØÖ· ÎÒÕâÀïÔÚ±¾µØ¾ÍÊDZ¾µØ
connectionFactory.setHost("127.0.0.1");
//ÉèÖö˿ںţ¬Á¬½ÓÓû§Ãû£¬ÐéÄâµØÖ·µÈ
connectionFactory.setPort(5672);
connectionFactory.setUsername("jojo");
connectionFactory.setPassword("jojo");
connectionFactory.setVirtualHost("testhost");
returnconnectionFactory.newConnection();
}



}

È»ºóÎÒÃDZàдһ¸öÏû·ÑÕߣ¨producer£©£¬ºÍÒ»¸öÉú²úÕߣ¨consumer£©£º

Éú²úÕߣº

public classConsumer {

public static void sendByExchange(Stringmessage) throws Exception{

Connectionconnection = ConnectionUtil.getConnection();
Channelchannel = connection.createChannel();
//ÉùÃ÷¶ÓÁÐ
channel.queueDeclare(ConnectionUtil.QUEUE_NAME, true,false,false,null);
// ÉùÃ÷exchange
channel.exchangeDeclare(ConnectionUtil.EXCHANGE_NAME, "fanout");
//½»»»»úºÍ¶ÓÁаó¶¨
channel.queueBind(ConnectionUtil.QUEUE_NAME, ConnectionUtil.EXCHANGE_NAME, "");
channel.basicPublish(ConnectionUtil.EXCHANGE_NAME, "", null, message.getBytes());
System.out.println("·¢Ë͵ÄÐÅϢΪ:"+ message);
channel.close();
connection.close();
}

}

Ïû·ÑÕߣº

public classProducer {

public static void getMessage() throws Exception{
Connectionconnection = ConnectionUtil.getConnection();
Channelchannel = connection.createChannel();
// channel.queueDeclare(ConnectionUtil.QUEUE_NAME, true,false,false,null);
DefaultConsumer deliverCallback = new DefaultConsumer(channel) {
@Override
public void handleDelivery(StringconsumerTag, Envelope envelope, AMQP.BasicPropertiesproperties, byte[] body) throws IOException{
System.out.println(new String(body, "UTF-8"));
}
};
channel.basicConsume(ConnectionUtil.QUEUE_NAME, deliverCallback);
}

}

ÕâÀ ÎÒÃÇÑÝʾ°ó¶¨fanoutµÄÀàÐ͵Ľ»»»»ú£¬ ËùÒÔ²»ÐèÒªroutingKey ¾Í¿ÉÒÔ·ÓÉÖ»ÐèÒª°ó¶¨¼´¿É

£¨¿ÉÄÜÓÐͬѧҪÎÊÁË£¬ Èç¹ûûÓа󶨽»»»»úÔõô°ìÄØ£¿ ûÓа󶨽»»»»úµÄ»°£¬ ÏûÏ¢»á·¢¸ørabbitmqĬÈϵĽ»»»»úÀïÃæ ĬÈϵĽ»»»»úÒþʽµÄ°ó¶¨ÁËËùÓеĶÓÁУ¬Ä¬ÈϵĽ»»»»úÀàÐÍÊÇdirect ·Óɽ¨¾ÍÊǶÓÁеÄÃû×Ö£©

»ù±¾ÉÏÕâÑù×ӵϰ¾ÍÒѾ­½øÐÐÒ»¸ö¿ìËÙÈëÃÅÁË£¬ ÓÉÓÚÎÒÃÇÏÖÔÚ×öÏîÄ¿»ù±¾É϶¼ÊÇÓÃspring boot£¨¾ÍËãûÓÃspring bootÒ²ÓÃspring °É£© ËùÒÔºóÃæÎÒÃÇÖ±½Ó»ùÓÚspring bootÀ´½²½â£¨rabbitmqµÄÌØÐÔ£¬ÊµÕ½µÈ£©

 

 
   
7544 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕÂ

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

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

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