RabbitMQ从安装到使用
一.在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=guest3.使用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ì)列) }獲取消息:
@Testpublic 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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iPhone 查看万能钥匙连接的 WiF
- 下一篇: 12省联考2019口胡