iOS RMQClient(RabbitMQ)第三章---主題模式接收消息

上一章將了廣播模式接收多條消息,這一章講主題模式眶俩,也就是topic模式接收消息莹汤。
還是想象一種場(chǎng)景,我發(fā)送一條消息颠印,要讓多個(gè)特定的人收到纲岭。比如,老板今天說线罕,周末研發(fā)中心的所有人加班止潮。那么這樣的話,其他的部門周末照常休息钞楼,只有研發(fā)中心的人才加班喇闸。
(哇,我為什么要舉這個(gè)例子询件,很難受燃乍。。宛琅。)

一刻蟹、接收方法

- (void)receiveWithRoutingKeys:(NSArray *)keys
{
    RMQConnection * connection = [[RMQConnection alloc] initWithDelegate:[RMQConnectionDelegateLogger new]];
    [connection start];
    id<RMQChannel>channel = [connection createChannel];
    RMQExchange * exchange = [channel topic:self.exchangeTF.text options:RMQExchangeDeclareAutoDelete];
    RMQQueue * queue = [channel queue:@"" options:RMQQueueDeclareAutoDelete];
    for (NSString * routingKey in keys) {
        [queue bind:exchange routingKey:routingKey];
    }
    [queue subscribe:^(RMQMessage * _Nonnull message) {
        NSLog(@"%@上收到消息:%@",message.routingKey,[[NSString alloc] initWithData:message.body encoding:NSUTF8StringEncoding]);
    }];
}

二、發(fā)送方法

- (void)sendWithRoutingKey:(NSString *)routingKey
{
    RMQConnection * connection = [[RMQConnection alloc] initWithDelegate:[RMQConnectionDelegateLogger new]];
    [connection start];
    id<RMQChannel>channel = [connection createChannel];
    RMQExchange * exchange = [channel topic:self.exchangeTF.text options:RMQExchangeDeclareAutoDelete];
    [exchange publish:[self.contentTF.text dataUsingEncoding:NSUTF8StringEncoding] routingKey:routingKey];
    [connection close];
}

說明:

  1. 當(dāng)如下指定*為通配符的時(shí)候嘿辟,只有類似fruit.apple,fruit.banana,animals.dog,animals.cat這樣的路由鍵上的消息才會(huì)被轉(zhuǎn)發(fā)
    [self receiveWithRoutingKeys:@[@"fruit.*",@"animals.*"]];
  2. 當(dāng)指定#為通配符的時(shí)候舆瘪,所有的消息都會(huì)被收到片效,比如:test.hello,fruit.apple,animals.dog路由鍵上的消息都會(huì)被轉(zhuǎn)發(fā)
    [self receiveWithRoutingKeys:@[@"#"]];
  3. 當(dāng)使用如下通配符的時(shí)候,只有類似hello.dog,animals.dog,test.dog這樣的路由鍵的消息才會(huì)被轉(zhuǎn)發(fā)
    [self receiveWithRoutingKeys:@[@"*.dog",@"*.apple"]];
    這一章講完英古,附上DEMO
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末淀衣,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子哺呜,更是在濱河造成了極大的恐慌舌缤,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件某残,死亡現(xiàn)場(chǎng)離奇詭異国撵,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)玻墅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門介牙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人澳厢,你說我怎么就攤上這事环础。” “怎么了剩拢?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵线得,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我徐伐,道長(zhǎng)贯钩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任办素,我火速辦了婚禮角雷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘性穿。我一直安慰自己勺三,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布需曾。 她就那樣靜靜地躺著吗坚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪呆万。 梳的紋絲不亂的頭發(fā)上刻蚯,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音桑嘶,去河邊找鬼炊汹。 笑死,一個(gè)胖子當(dāng)著我的面吹牛逃顶,可吹牛的內(nèi)容都是我干的讨便。 我是一名探鬼主播充甚,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼霸褒!你這毒婦竟也來了伴找?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤废菱,失蹤者是張志新(化名)和其女友劉穎技矮,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體殊轴,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡衰倦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了旁理。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片樊零。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖孽文,靈堂內(nèi)的尸體忽然破棺而出驻襟,到底是詐尸還是另有隱情,我是刑警寧澤芋哭,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布沉衣,位于F島的核電站,受9級(jí)特大地震影響减牺,放射性物質(zhì)發(fā)生泄漏豌习。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一烹植、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧愕贡,春花似錦草雕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至憨琳,卻和暖如春诫钓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背篙螟。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工菌湃, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人遍略。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓惧所,卻偏偏與公主長(zhǎng)得像骤坐,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子下愈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 前幾天忙別的事纽绍,沒時(shí)間寫,現(xiàn)在補(bǔ)上势似。在上一章中拌夏,我們集成了RMQClient,并進(jìn)行了一些基礎(chǔ)操作履因,這一章來講講廣...
    百里玄卿閱讀 1,703評(píng)論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理障簿,服務(wù)發(fā)現(xiàn),斷路器搓逾,智...
    卡卡羅2017閱讀 134,600評(píng)論 18 139
  • 關(guān)于消息隊(duì)列卷谈,從前年開始斷斷續(xù)續(xù)看了些資料,想寫很久了霞篡,但一直沒騰出空世蔗,近來分別碰到幾個(gè)朋友聊這塊的技術(shù)選型,是時(shí)...
    預(yù)流閱讀 584,423評(píng)論 51 785
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,515評(píng)論 25 707
  • 假期在一家概念書吧打工朗兵,由于一些原因換了店長(zhǎng)污淋,店里原先對(duì)學(xué)生兼職的規(guī)矩有了些改變,體力活加多了余掖。對(duì)此寸爆,另一位兼職的...
    WrittingTalia閱讀 269評(píng)論 0 0