<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                :-: ![](https://img.kancloud.cn/24/9a/249a8de6f0d9d9ee86d59fc2c9ce0421_1434x357.jpg) 生產消費過程 **1. 聲明隊列與交換機的綁定關系** ```java @Configuration public class RabbitConfig { public final static String SECOND_EXCHAGE = "second.exchange"; public final static String MARS_QUEUE = "mars.queue"; public final static String MERCURY_QUEUE = "mercury.queue"; public final static String MARS_SECOND_KEY = "mars.second.key"; public final static String MERCURY_SECOND01_KEY = "mercury.second01.key"; public final static String MERCURY_SECOND02_KEY = "mercury.second02.key"; /** * 創建Direct交換機 */ @Bean("secondExchange") public DirectExchange secondExchange() { return new DirectExchange(SECOND_EXCHAGE); } /** * 創建mars隊列 */ @Bean("marsQueue") public Queue marsQueue() { return new Queue(MARS_QUEUE); } /** * 創建mercury隊列 */ @Bean("mercuryQueue") public Queue mercuryQueue() { return new Queue(MERCURY_QUEUE); } /** * mars隊列與交換機綁定 */ @Bean public Binding marsBinding(@Qualifier("marsQueue") Queue queue, @Qualifier("secondExchange") DirectExchange exchange) { return BindingBuilder.bind(queue).to(exchange).with(MARS_SECOND_KEY); } /** * mercury隊列與交換機綁定,key=MERCURY_SECOND01_KEY */ @Bean public Binding mercury01Binding(@Qualifier("mercuryQueue") Queue queue, @Qualifier("secondExchange") DirectExchange exchange) { return BindingBuilder.bind(queue).to(exchange).with(MERCURY_SECOND01_KEY); } /** * mercury隊列與交換機綁定,key=MERCURY_SECOND02_KEY */ @Bean public Binding mercury02Binding(@Qualifier("mercuryQueue") Queue queue, @Qualifier("secondExchange") DirectExchange exchange) { return BindingBuilder.bind(queue).to(exchange).with(MERCURY_SECOND02_KEY); } } ``` **2. 生產者** ```java @Slf4j @RestController public class ProducerController { @Autowired private RabbitTemplate rabbitTemplate; @RequestMapping("/direct/produce") public void directProduce() { Map<String, Object> msgBody = new HashMap<>(16); msgBody.put("name", "zhangsan"); msgBody.put("age", 25); msgBody.put("key", RabbitConfig.MARS_SECOND_KEY); //convertAndSend(String exchange, String routingKey, Object object) rabbitTemplate.convertAndSend(RabbitConfig.SECOND_EXCHAGE, RabbitConfig.MARS_SECOND_KEY, msgBody); log.info("directProduce[生產了消息]:{}", msgBody); msgBody.put("key", RabbitConfig.MERCURY_SECOND01_KEY); rabbitTemplate.convertAndSend(RabbitConfig.SECOND_EXCHAGE, RabbitConfig.MERCURY_SECOND01_KEY, msgBody); log.info("directProduce[生產了消息]:{}", msgBody); msgBody.put("key", RabbitConfig.MERCURY_SECOND02_KEY); rabbitTemplate.convertAndSend(RabbitConfig.SECOND_EXCHAGE, RabbitConfig.MERCURY_SECOND02_KEY, msgBody); log.info("directProduce[生產了消息]:{}", msgBody); } } ``` **3. 消費者** ```java @Slf4j @Service public class ConsumerService { /** * 監聽mars隊列 */ @RabbitListener(queues = RabbitConfig.MARS_QUEUE) public void marsConsume(Message<Map<String, Object>> message, Channel channel) { Map<String, Object> msgBody = message.getPayload(); log.info("marsConsume[收到了消息]:{}", msgBody); } /** * 監聽mercury隊列 */ @RabbitListener(queues = RabbitConfig.MERCURY_QUEUE) public void mercuryConsume(Message<Map<String, Object>> message, Channel channel) { Map<String, Object> msgBody = message.getPayload(); log.info("mercuryConsume[收到了消息]:{}", msgBody); } } ``` **4. 測試結果** ``` : directProduce[生產了消息]:{name=zhangsan, age=25, key=mars.second.key} : directProduce[生產了消息]:{name=zhangsan, age=25, key=mercury.second01.key} : directProduce[生產了消息]:{name=zhangsan, age=25, key=mercury.second02.key} : marsConsume[收到了消息]:{name=zhangsan, age=25, key=mars.second.key} : mercuryConsume[收到了消息]:{name=zhangsan, age=25, key=mercury.second01.key} : mercuryConsume[收到了消息]:{name=zhangsan, age=25, key=mercury.second02.key} ```
                  <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>

                              哎呀哎呀视频在线观看