欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

RabbitMQ第四個(gè)實(shí)操小案例——DirectExchange-創(chuàng)新互聯(lián)

文章目錄
  • RabbitMQ第四個(gè)實(shí)操小案例——DirectExchange

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、察隅網(wǎng)絡(luò)推廣、微信小程序定制開發(fā)、察隅網(wǎng)絡(luò)營銷、察隅企業(yè)策劃、察隅品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供察隅建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.chinadenli.netRabbitMQ第四個(gè)實(shí)操小案例——DirectExchange

DirectExchange:這種交換機(jī)的模式跟前面的Fouout(廣播)不太一樣,DirectExchange 會(huì)將接收到的消息根據(jù)規(guī)則路由到指定的Queue,因此也被稱之為 路由模式(routes)。

他的模型如下所示:
在這里插入圖片描述
我們先說一下上面這個(gè)圖吧:

  • 每一個(gè)Queue都與Exchange綁定一個(gè)或多個(gè)bingingKey。(上面queue1與exchange綁定的bindingKey有red和blue,queue2與exchange綁定的bindingKey有red和yellow。)
  • Publisher發(fā)送消息時(shí),指定消息的bindingKey。
  • Exchange根據(jù)消息的bindingKey,將消息轉(zhuǎn)發(fā)到對應(yīng)的Queue。
    • 假如現(xiàn)在發(fā)送的消息的bindingKey為blue,那么消息將被queue1接收。
    • 假如現(xiàn)在發(fā)送的消息的bindingKey為yellow,那么消息將被queue2接收。
    • 假如現(xiàn)在發(fā)送的消息的bindingKey為red,那么消息將被queue1和queue2同時(shí)接收。

OK,廢話少說,老規(guī)矩,咱們代碼來一波:
實(shí)現(xiàn)思路:

步驟一、配置我們的配置類。
步驟二、在Consumer服務(wù)中,編寫兩個(gè)消費(fèi)者方法,分別監(jiān)聽direct.queue1和direct.queue2。
步驟三、在Publisher服務(wù)中,編寫測試方法,向交換機(jī)exchange.direct發(fā)送消息。

步驟一、使用我們的@RabbitListener注解聲明我們的Exchange、Queue、RoutingKey,編寫兩個(gè)消費(fèi)者方法。

@RabbitListener(bindings = @QueueBinding(
        value = @Queue(name = "direct.queue1"),
        exchange = @Exchange(name = "exchange.direct", type = ExchangeTypes.DIRECT),
        key = {"red", "blue"}
))
public void listenerDirectQueue1(String msg){System.out.println("監(jiān)聽到 direct.queue1 的消息為:【"+ msg +"】");
}

@RabbitListener(bindings = @QueueBinding(
        value = @Queue(name = "direct.queue2"),
        exchange = @Exchange(name = "exchange.direct", type = ExchangeTypes.DIRECT),
        key = {"red", "yellow"}
))
public void listenerDirectQueue2(String msg){System.err.println("監(jiān)聽到 direct.queue2 的消息為:【"+ msg +"】");
}

編寫完代碼,我們重啟一下我們的消費(fèi)者服務(wù),然后我們看一下我們的RabbitMQ。可以看到,此時(shí)我們的交換機(jī)中,綁定的有兩個(gè)queue,其中queue1監(jiān)聽的RoutingKey有blue和red、queue2監(jiān)聽的RoutingKey有yellow和red。
在這里插入圖片描述
我們也可以看看我們的queue,確實(shí)也多了倆,一個(gè)叫direct.queue1,一個(gè)叫direct.queue2。
在這里插入圖片描述

步驟二、在Publisher服務(wù)中,編寫測試方法,向交換機(jī)exchange.direct發(fā)送消息。

@Test
    public void testDirectExchange(){//交換機(jī)的名稱
        String exchangeName = "exchange.direct";
        //消息
        String blueMsg = "Hello, Blue.";
        String redMsg = "Hello, Red.";
        String yellowMsg = "Hello, Yellow.";
        //發(fā)送消息
        for (int i = 0; i< 10; i++){if (i % 3 == 0){rabbitTemplate.convertAndSend(exchangeName, "blue", blueMsg);
            }else if (i % 3 == 1){rabbitTemplate.convertAndSend(exchangeName, "yellow", yellowMsg);
            }else {rabbitTemplate.convertAndSend(exchangeName, "red", redMsg);
            }
        }
    }

運(yùn)行我們的測試方法后,我們看一下Consumer服務(wù)的控制臺打印消息:
在這里插入圖片描述
可以看到,direct.queue1 監(jiān)聽到的消息有 Hello, Red 和 Hello, Blue,而direct.queue2 監(jiān)聽到的消息有 Hello, Red 和 Hello, Yellow.

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

分享標(biāo)題:RabbitMQ第四個(gè)實(shí)操小案例——DirectExchange-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://www.chinadenli.net/article28/deiocp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)搜索引擎優(yōu)化動(dòng)態(tài)網(wǎng)站外貿(mào)建站網(wǎng)站維護(hù)定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)