Spring整合RibbitMQ

1.1 搭建SpringBoot環(huán)境

我們選擇基于Spring-Rabbit去操作RabbitMQ

https://github.com/spring-projects/spring-amqp
使用spring-boot-starter-amqp會自動添加spring-rabbit依賴茵休,

1.2配置

1驱闷、配置application.yml
配置連接rabbitmq的參數(shù)

server:
  port: 44000
spring:
  application:
    name: test‐rabbitmq‐consumer
  rabbitmq:
    host: 127.0.0.1
    port: 5672
    username: guest
    password: guest
    virtualHost: /

2鲤妥、定義RabbitConfig類怕敬,配置Exchange蔚鸥、Queue斗埂、及綁定交換機塞琼。
本例配置Topic交換機坎炼。

@Configuration
public class RabbitConfig {
    public static final String QUEUE_INFORM_EMAIL = "queue_inform_email";
    public static final String QUEUE_INFORM_SMS = "queue_inform_sms";
    public static final String EXCHANGE_TOPICS_INFORM="exchange_topics_inform";
    public static final String ROUTINGKEY_EMAIL="inform.#.email.#";
    public static final String ROUTINGKEY_SMS="inform.#.sms.#";

    //聲明交換機
    @Bean(EXCHANGE_TOPICS_INFORM)
    public Exchange EXCHANGE_TOPICS_INFORM(){
        //durable(true) 持久化愧膀,mq重啟之后交換機還在
        return ExchangeBuilder.topicExchange(EXCHANGE_TOPICS_INFORM).durable(true).build();
    }

    //聲明QUEUE_INFORM_EMAIL隊列
    @Bean(QUEUE_INFORM_EMAIL)
    public Queue QUEUE_INFORM_EMAIL(){
        return new Queue(QUEUE_INFORM_EMAIL);
    }
    //聲明QUEUE_INFORM_SMS隊列
    @Bean(QUEUE_INFORM_SMS)
    public Queue QUEUE_INFORM_SMS(){
        return new Queue(QUEUE_INFORM_SMS);
    }
     // 每個消費者監(jiān)聽自己的隊列,并且設(shè)置routingkey谣光。
    //生產(chǎn)者將消息發(fā)給交換機檩淋,由交換機根據(jù)routingkey來轉(zhuǎn)發(fā)消息到指定的隊列
    //ROUTINGKEY_EMAIL隊列綁定交換機,指定routingKey
    @Bean
    public Binding BINDING_QUEUE_INFORM_EMAIL(@Qualifier(QUEUE_INFORM_EMAIL) Queue queue,
                                              @Qualifier(EXCHANGE_TOPICS_INFORM) Exchange exchange){
        return BindingBuilder.bind(queue).to(exchange).with(ROUTINGKEY_EMAIL).noargs();
    }
    //ROUTINGKEY_SMS隊列綁定交換機萄金,指定routingKey
    @Bean
    public Binding BINDING_ROUTINGKEY_SMS(@Qualifier(QUEUE_INFORM_SMS) Queue queue,
                                          @Qualifier(EXCHANGE_TOPICS_INFORM) Exchange exchange){
        return BindingBuilder.bind(queue).to(exchange).with(ROUTINGKEY_SMS).noargs();
    }


}

1.3 生產(chǎn)端

@SpringBootTest
@RunWith(SpringRunner.class)
public class Producer04_topics_Boot {
    @Autowired
    RabbitTemplate rabbitTemplate;

    //使用rabbitTemplate發(fā)送消息
    @Test
    public void testSendEmail(){

        String message = "send email message to user";
        /**
         * 參數(shù):
         * 1蟀悦、交換機名稱
         * 2、routingKey
         * 3氧敢、消息內(nèi)容
         */
        rabbitTemplate.convertAndSend(RabbitConfig.EXCHANGE_TOPICS_INFORM,"inform.email",message);

    }

1.4消費端

目錄結(jié)構(gòu)與生產(chǎn)者一樣

使用@RabbitListener注解監(jiān)聽隊列日戈。

@Component
public class ReceiveHandler {

    @RabbitListener(queues = {RabbitConfig.QUEUE_INFORM_EMAIL})
    public void emil(String msg, Message message , Channel channel){
        System.out.println(msg);
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市孙乖,隨后出現(xiàn)的幾起案子浙炼,更是在濱河造成了極大的恐慌,老刑警劉巖唯袄,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件弯屈,死亡現(xiàn)場離奇詭異,居然都是意外死亡恋拷,警方通過查閱死者的電腦和手機资厉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來梅掠,“玉大人酌住,你說我怎么就攤上這事店归。” “怎么了酪我?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵消痛,是天一觀的道長。 經(jīng)常有香客問我都哭,道長秩伞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任欺矫,我火速辦了婚禮纱新,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘穆趴。我一直安慰自己脸爱,他們只是感情好,可當我...
    茶點故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布未妹。 她就那樣靜靜地躺著簿废,像睡著了一般。 火紅的嫁衣襯著肌膚如雪络它。 梳的紋絲不亂的頭發(fā)上族檬,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天,我揣著相機與錄音化戳,去河邊找鬼单料。 笑死,一個胖子當著我的面吹牛点楼,可吹牛的內(nèi)容都是我干的扫尖。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼盟步,長吁一口氣:“原來是場噩夢啊……” “哼藏斩!你這毒婦竟也來了躏结?” 一聲冷哼從身側(cè)響起却盘,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎媳拴,沒想到半個月后黄橘,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡屈溉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年塞关,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片子巾。...
    茶點故事閱讀 40,444評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡帆赢,死狀恐怖小压,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情椰于,我是刑警寧澤怠益,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站瘾婿,受9級特大地震影響蜻牢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜偏陪,卻給世界環(huán)境...
    茶點故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一抢呆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧笛谦,春花似錦抱虐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至好啰,卻和暖如春轩娶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背框往。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工鳄抒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人椰弊。 一個月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓许溅,卻偏偏與公主長得像,于是被迫代替她去往敵國和親秉版。 傳聞我的和親對象是個殘疾皇子贤重,可洞房花燭夜當晚...
    茶點故事閱讀 45,455評論 2 359

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