1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      使用SpringBoot實現(xiàn)對RabbitMQ整合的方法-創(chuàng)新互聯(lián)

      本篇文章給大家分享的是有關使用Spring Boot實現(xiàn)對RabbitMQ整合的方法,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

      成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站設計、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的臨武網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

      1.Topic交換器介紹

      Topic Exchange 轉(zhuǎn)發(fā)消息主要是根據(jù)通配符。 在這種交換機下,隊列和交換機的綁定會定義一種路由模式,那么,通配符就要在這種路由模式和路由鍵之間匹配后交換機才能轉(zhuǎn)發(fā)消息。

      在這種交換機模式下:

          路由鍵必須是一串字符,用句號(.) 隔開,比如說 agreements.us,或者 agreements.eu.stockholm 等。

          路由模式必須包含一個 星號(*),主要用于匹配路由鍵指定位置的一個單詞,比如說,一個路由模式是這樣子:agreements..b.*,那么就只能匹配路由鍵是這樣子的:第一個單詞是 agreements,第四個單詞是 b。 井號(#)就表示相當于一個或者多個單詞,例如一個匹配模式是agreements.eu.berlin.#,那么,以agreements.eu.berlin開頭的路由鍵都是可以的。
      具體代碼發(fā)送的時候還是一樣,第一個參數(shù)表示交換機,第二個參數(shù)表示routing key,第三個參數(shù)即消息。如下:

      rabbitTemplate.convertAndSend("testTopicExchange","key1.a.c.key2", " this is  RabbitMQ!");

      topic 和 direct 類似, 只是匹配上支持了"模式", 在"點分"的 routing_key 形式中, 可以使用兩個通配符:

      *表示一個詞.

      #表示零個或多個詞.

      使用Spring Boot實現(xiàn)對RabbitMQ整合的方法

      如上圖所示:此類交換器使得來自不同的源頭的消息可以到達一個對列,其實說的更明白一點就是模糊匹配的意思,例如:上圖中紅色對列的routekey為usa.#,#代表匹配任意字符,但是要想消息能到達此對列,usa.必須匹配后面的#好可以隨意。圖中usa.news,usa.weather都能找到紅色隊列,符號“#”匹配一個或多個詞,符號“”匹配不多不少一個詞。因此“usa.#”能夠匹配到“usa.news.XXX”,但是“usa.” 只會匹配到“usa.XXX”。
      注:交換器說到底是一個名稱與隊列綁定的列表。當消息發(fā)布到交換器時,實際上是由你所連接的信道,將消息路由鍵同交換器上綁定的列表進行比較,最后路由消息

      2.示例代碼

      1).RabbitMQ的Topic的bean配置

      RabbitTopic.java類:

      package com.example.rabbitmqtopic;
      import org.springframework.amqp.core.Binding;
      import org.springframework.amqp.core.BindingBuilder;
      import org.springframework.amqp.core.Queue;
      import org.springframework.amqp.core.TopicExchange;
      import org.springframework.context.annotation.Bean;
      import org.springframework.context.annotation.Configuration;
      @Configuration
      public class RabbitTopic {
       final static String message = "topic.message";
       final static String messages = "topic.messages";
       //創(chuàng)建隊列
       @Bean
       public Queue queueMessage() {
        return new Queue(RabbitTopic.message);
       }
       //創(chuàng)建隊列
       @Bean
       public Queue queueMessages() {
        return new Queue(RabbitTopic.messages);
       }
       //創(chuàng)建交換器
       @Bean
       TopicExchange exchange() {
        return new TopicExchange("topicExchange");
       }
        //對列綁定并關聯(lián)到ROUTINGKEY
       @Bean
       Binding bindingExchangeMessage(Queue queueMessage, TopicExchange exchange) {
        return BindingBuilder.bind(queueMessage).to(exchange).with("topic.message");
       }
       //對列綁定并關聯(lián)到ROUTINGKEY
       @Bean
       Binding bindingExchangeMessages(Queue queueMessages, TopicExchange exchange) {
        return BindingBuilder.bind(queueMessages).to(exchange).with("topic.#");//*表示一個詞,#表示零個或多個詞
        }
      }

      當前題目:使用SpringBoot實現(xiàn)對RabbitMQ整合的方法-創(chuàng)新互聯(lián)
      當前鏈接:http://ef60e0e.cn/article/csjjjh.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        宁远县| 郧西县| 东阿县| 洪湖市| 溆浦县| 新疆| 务川| 新余市| 阿鲁科尔沁旗| 陵水| 莲花县| 襄垣县| 南木林县| 天长市| 英吉沙县| 瑞金市| 宝清县| 廉江市| 灯塔市| 独山县| 辽宁省| 溧水县| 兴化市| 阜南县| 罗山县| 武鸣县| 资兴市| 洛宁县| 桂平市| 房山区| 朝阳区| 甘孜县| 邛崃市| 南澳县| 贡觉县| 洮南市| 黎平县| 密云县| 福清市| 大城县| 仁寿县|