<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/a6/da/a6da7013ab5013413a7283cb93a774bb_1345x267.jpg) 生產消費過程 **1. 聲明隊列與交換機的綁定關系** ```java @Configuration public class RabbitConfig { public final static String FIRST_EXCHAGE = "first.exchange"; public final static String EARTH_QUEUE = "earth.queue"; public final static String MOON_QUEUE = "moon.queue"; /** * 創建Fanout交換機 */ @Bean("firstExchange") public FanoutExchange firstExchange() { return new FanoutExchange(FIRST_EXCHAGE); } /** * 創建earth隊列 */ @Bean("earthQueue") public Queue earthQueue() { return new Queue(EARTH_QUEUE); } /** * 創建moon隊列 */ @Bean("moonQueue") public Queue moonQueue() { return new Queue(MOON_QUEUE); } /** * earth隊列與交換機綁定 */ @Bean public Binding earthBinding(@Qualifier("earthQueue") Queue queue, @Qualifier("firstExchange") FanoutExchange exchange) { return BindingBuilder.bind(queue).to(exchange); } /** * moon隊列與交換機綁定 */ @Bean public Binding moonBinding(@Qualifier("moonQueue") Queue queue, @Qualifier("firstExchange") FanoutExchange exchange) { return BindingBuilder.bind(queue).to(exchange); } } ``` **2. 生產者** ```java @Slf4j @RestController public class ProducerController { @Autowired private RabbitTemplate rabbitTemplate; @RequestMapping("/fanout/produce") public void fanoutProduce() { Map<String, Object> msgBody = new HashMap<>(16); msgBody.put("name", "zhangsan"); msgBody.put("age", 25); //convertAndSend(String exchange, String routingKey, Object object) rabbitTemplate.convertAndSend(RabbitConfig.FIRST_EXCHAGE, null, msgBody); log.info("fanoutProduce[生產了消息]:{}", msgBody); } } ``` **3. 消費者** ```java @Slf4j @Service public class ConsumerService { /** * 監聽earth隊列 */ @RabbitListener(queues = RabbitConfig.EARTH_QUEUE) public void earthConsume(Message<Map<String, Object>> message, Channel channel) { Map<String, Object> msgBody = message.getPayload(); log.info("earthConsume[收到了消息]:{}", msgBody); } /** * 監聽moon隊列 */ @RabbitListener(queues = RabbitConfig.MOON_QUEUE) public void moonConsume(Message<Map<String, Object>> message, Channel channel) { Map<String, Object> msgBody = message.getPayload(); log.info("moonConsume[收到了消息]:{}", msgBody); } } ``` **4. 測試結果** ``` : fanoutProduce[生產了消息]:{name=zhangsan, age=25} : earthConsume[收到了消息]:{name=zhangsan, age=25} : moonConsume[收到了消息]:{name=zhangsan, age=25} ```
                  <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>

                              哎呀哎呀视频在线观看