日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RabbitMQ从安装到使用

發(fā)布時(shí)間:2025/3/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RabbitMQ从安装到使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一.在Linux中安裝RabbitMQ

  通過Docker安裝:

    獲取鏡像(選用management是帶有管理界面的)

docker pull rabbitmq:3.7.14-management

    查看下載好的鏡像:docker images

    運(yùn)行鏡像:

docker run -d -p 5672:5672 -p 15672:15672 --name myrabbitmq 鏡像ID

    打開端口號(hào)或關(guān)閉防火墻就可以遠(yuǎn)程訪問其管理界面了,如下所示

    

    默認(rèn)賬號(hào)密碼都是guest,登錄后頁面如圖所示:

      

    創(chuàng)建exchange:(exchange的作用是接收消息,并把消息放入隊(duì)列中)

      

?

    創(chuàng)建queue:

      

?

    exchange綁定queue:

      

?

    exchange給隊(duì)列發(fā)送消息案例

?      

?

    點(diǎn)擊發(fā)送后,刷新queue,發(fā)現(xiàn)queue中多了一條消息

      

?

    再點(diǎn)進(jìn)去后可以查看具體內(nèi)容

      

?

二.SpringBoot整合RabbitMQ

  1.引入RabbitMQ依賴

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency>

?

  2.配置RabbitMQ

spring.rabbitmq.host=192.168.2.129 #這里設(shè)置的端口是5672而不是15672 spring.rabbitmq.port=5672 spring.rabbitmq.username=guest spring.rabbitmq.password=guest

  3.使用RabbitMQ

    發(fā)送消息:

@Autowired RabbitTemplate rabbitTemplate; @Test public void test1() {String str = "你好";rabbitTemplate.convertAndSend("amq.direct", "myqueue" , str);//第一個(gè)參數(shù)是交換器,第二參數(shù)是判斷發(fā)送到哪個(gè)隊(duì)列而制定的規(guī)則,第三個(gè)是發(fā)送消息的內(nèi)容(注意,交換器需要綁定隊(duì)列) }

    獲取消息:

@Test
public void test2() {
Object myqueue = rabbitTemplate.receiveAndConvert("myqueue");//這里放的是隊(duì)列的名字,一次獲取一條消息,獲取后,隊(duì)列中的消息將會(huì)刪除
System.out.println(myqueue);
}

?    使用代碼創(chuàng)建exchange和queue:

@Autowired AmqpAdmin amqpAdmin; @Testpublic void test3(){//創(chuàng)建exchangeamqpAdmin.declareExchange(new DirectExchange("test.exchange" , false , true));//exchange名稱,是否持久化 ,是否自動(dòng)刪除,還可以添加參數(shù)類型//創(chuàng)建queueamqpAdmin.declareQueue(new Queue("testqueue" , false));//queue名稱,是否持久化,還可以添加是否自動(dòng)刪除,參數(shù)類型等//創(chuàng)建綁定以及設(shè)置通信規(guī)則amqpAdmin.declareBinding(new Binding("testqueue",Binding.DestinationType.QUEUE,"test.exchange","test",null));//綁定的名稱,綁定類型,綁定的exchange,給隊(duì)列發(fā)送消息的規(guī)則,參數(shù)}

    使用代碼刪除exchange和queue:

    

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/ywb-articles/p/10665492.html

總結(jié)

以上是生活随笔為你收集整理的RabbitMQ从安装到使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。