<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                :-: ![](https://img.kancloud.cn/b7/d0/b7d0a1a0de554b236a738103012a711a_1304x304.jpg) 生產消費過程 **1. 聲明隊列與交換機的綁定關系** ```java @Configuration public class RabbitConfig { public final static String THREE_EXCHAGE = "three.exchange"; public final static String JUPITER_QUEUE = "jupiter.queue"; public final static String SATURN_QUEUE = "saturn.queue"; public final static String JUPITER_MIDDLE_KEY = "*.jupiter.*"; public final static String SATURN_PREFIX_KEY = "saturn.*"; public final static String SATURN_SUFIX_KEY = "*.saturn"; /** * 創建Topic交換機 */ @Bean("threeExchange") public TopicExchange threeExchange() { return new TopicExchange(THREE_EXCHAGE); } /** * 創建jupiter隊列 */ @Bean("jupiterQueue") public Queue jupiterQueue() { return new Queue(JUPITER_QUEUE); } /** * 創建saturn隊列 */ @Bean("saturnQueue") public Queue saturnQueue() { return new Queue(SATURN_QUEUE); } /** * jupiter隊列與交換機綁定 */ @Bean public Binding jupiterBinding(@Qualifier("jupiterQueue") Queue queue, @Qualifier("threeExchange") TopicExchange exchange) { return BindingBuilder.bind(queue).to(exchange).with(JUPITER_MIDDLE_KEY); } /** * saturn隊列與交換機綁定,key=SATURN_PREFIX_KEY */ @Bean public Binding saturn01Binding(@Qualifier("saturnQueue") Queue queue, @Qualifier("threeExchange") TopicExchange exchange) { return BindingBuilder.bind(queue).to(exchange).with(SATURN_PREFIX_KEY); } /** * saturn隊列與交換機綁定,key=SATURN_SUFIX_KEY */ @Bean public Binding saturn02Binding(@Qualifier("saturnQueue") Queue queue, @Qualifier("threeExchange") TopicExchange exchange) { return BindingBuilder.bind(queue).to(exchange).with(SATURN_SUFIX_KEY); } } ``` **2. 生產者** ```java @Slf4j @RestController public class ProducerController { @Autowired private RabbitTemplate rabbitTemplate; @RequestMapping("/topic/produce") public void topicProduce() { Map<String, Object> msgBody = new HashMap<>(16); msgBody.put("name", "zhangsan"); msgBody.put("age", 25); msgBody.put("key", "easy.jupiter.yes"); //convertAndSend(String exchange, String routingKey, Object object) rabbitTemplate.convertAndSend(RabbitConfig.THREE_EXCHAGE, "easy.jupiter.yes", msgBody); log.info("topicProduce[生產了消息]:{}", msgBody); msgBody.put("key", "saturn.world"); rabbitTemplate.convertAndSend(RabbitConfig.THREE_EXCHAGE, "saturn.world", msgBody); log.info("topicProduce[生產了消息]:{}", msgBody); msgBody.put("key", "much.saturn"); rabbitTemplate.convertAndSend(RabbitConfig.THREE_EXCHAGE, "much.saturn", msgBody); log.info("topicProduce[生產了消息]:{}", msgBody); } } ``` **3. 消費者** ```java @Slf4j @Service public class ConsumerService { /** * 監聽jupiter隊列 */ @RabbitListener(queues = RabbitConfig.JUPITER_QUEUE) public void jupiterConsume(Message<Map<String, Object>> message, Channel channel) { Map<String, Object> msgBody = message.getPayload(); log.info("jupiterConsume[收到了消息]:{}", msgBody); } /** * 監聽saturn隊列 */ @RabbitListener(queues = RabbitConfig.SATURN_QUEUE) public void saturnConsume(Message<Map<String, Object>> message, Channel channel) { Map<String, Object> msgBody = message.getPayload(); log.info("saturnConsume[收到了消息]:{}", msgBody); } } ``` **4. 測試結果** ``` : topicProduce[生產了消息]:{name=zhangsan, age=25, key=easy.jupiter.yes} : topicProduce[生產了消息]:{name=zhangsan, age=25, key=saturn.world} : topicProduce[生產了消息]:{name=zhangsan, age=25, key=much.saturn} : jupiterConsume[收到了消息]:{name=zhangsan, age=25, key=easy.jupiter.yes} : saturnConsume[收到了消息]:{name=zhangsan, age=25, key=saturn.world} : saturnConsume[收到了消息]:{name=zhangsan, age=25, key=much.saturn} ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看