-
注冊隊列(無交換機模式):
-
在pom.xml中添加rabbitmq依賴:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>
在localhost:15672中進行隊列注冊
-
1552527559804.png
-
發(fā)送消息:
@Autowired private RabbitTemplate rabbitTemplate; @Test public void sendmsgtormq(){ //指定向隊列名為rabbitmqtest的消息隊列中發(fā)送消息 rabbitTemplate.convertAndSend("rabbitmqtest","生產消息測試"); }
- 接受消息:
@RabbitListener(queues = "rabbitmqtest") @Component public class Getmsg { @RabbitHandler public void getmsg(String string) { System.out.println("ranbbitmqtest接收到的消息為:"+string); } } //可同時指定多個接受類,但是某個隊列中的消息只能被接受一次刊棕,當消息被接收,隊列中的該消息就被清除
-
分裂模式fanout:
- 在rabbitmq后臺注冊交換機fanout_test:
1552527910557.png
- 將該交換機與消息隊列進行綁定条篷,確認消息的分發(fā):
1552527994297.png
-
消息的發(fā)送:
@Test public void sendmsgtormq2(){ //這里的convertAndSend方法的第一個參數指定為你將用來分發(fā)消息的交換機刊驴,第二個參數指定隊列可以為空嚎花,第三個為你要發(fā)送的消息 rabbitTemplate.convertAndSend("fanout_test","","生產消息測試"); }
-
分裂模式消息的接受:
//如同上面的消息接收一樣悼瘾。只需要指定消息隊列 @RabbitListener(queues = "fanoutmq1") @Component public class Getmsg2 { @RabbitHandler public void getmsg(String string) { System.out.println("fanoutmq1接收到的消息為:"+string); } }
-
主題模式消息隊列(需要編寫匹配規(guī)則):
-
:相當于通配符龟再, a*:意味著a只能出現(xiàn)一次
1552528703038.png -