您好,登錄后才能下訂單哦!
這篇文章主要講解了“RabbitMQ的工作模式實(shí)例代碼分析”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“RabbitMQ的工作模式實(shí)例代碼分析”吧!
生產(chǎn)者聲明隊(duì)列并向隊(duì)列生成消息
導(dǎo)入 com.example.rabbitmq.constant.RabbitConstant; 導(dǎo)入 org.springframework.amqp.core.Queue; 導(dǎo)入 org.springframework.context.annotation.Bean; 導(dǎo)入 org.springframework.context.annotation.Configuration; @Configuration公共類 RabbitWorkProvider { @Bean 公共隊(duì)列 workQueue() { return new Queue(RabbitConstant.WORK_QUEUE_NAME); } }
消費(fèi)者監(jiān)聽隊(duì)列并消費(fèi)消息(有兩個(gè)消費(fèi)者監(jiān)聽同一個(gè)隊(duì)列)
導(dǎo)入 com.example.rabbitmq.constant.RabbitConstant; 導(dǎo)入 org.springframework.amqp.rabbit.annotation.RabbitHandler; 導(dǎo)入 org.springframework.amqp.rabbit.annotation.RabbitListener; 導(dǎo)入 org.springframework.stereotype.Component; @Component public class RabbitWorkConsumer { @RabbitListener(queues = RabbitConstant.WORK_QUEUE_NAME) @RabbitHandler public void workQueueListenerFirst(String context) { System.out.println("rabbit workQueue listener first receiver:" + context); } @RabbitListener(queues = RabbitConstant.WORK_QUEUE_NAME) @RabbitHandler public void workQueueListenerSecond(String context) { System.out.println("rabbit workQueue listener 第二個(gè)接收者:" + context); } }
單元測試
@Test public void work() { rabbitTemplate.convertAndSend(RabbitConstant.WORK_QUEUE_NAME, "工作你好!"); }
響應(yīng)結(jié)果(由于有兩個(gè)消費(fèi)者監(jiān)聽同一個(gè)隊(duì)列,所以消息只能被其中一個(gè)消費(fèi)者消費(fèi)。默認(rèn)情況下,消息是負(fù)載均衡發(fā)送給所有消費(fèi)者的)
感謝各位的閱讀,以上就是“RabbitMQ的工作模式實(shí)例代碼分析”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對RabbitMQ的工作模式實(shí)例代碼分析這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。