|
|
@@ -440,6 +440,80 @@ public class DirectQueueOneHandler { |
|
|
|
} |
|
|
|
``` |
|
|
|
|
|
|
|
## SpringBootDemoMqRabbitmqApplicationTests.java |
|
|
|
|
|
|
|
```java |
|
|
|
@RunWith(SpringRunner.class) |
|
|
|
@SpringBootTest |
|
|
|
public class SpringBootDemoMqRabbitmqApplicationTests { |
|
|
|
@Autowired |
|
|
|
private RabbitTemplate rabbitTemplate; |
|
|
|
|
|
|
|
/** |
|
|
|
* 测试直接模式发送 |
|
|
|
*/ |
|
|
|
@Test |
|
|
|
public void sendDirect() { |
|
|
|
rabbitTemplate.convertAndSend(RabbitConsts.DIRECT_MODE_QUEUE_ONE, new MessageStruct("direct message")); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 测试分列模式发送 |
|
|
|
*/ |
|
|
|
@Test |
|
|
|
public void sendFanout() { |
|
|
|
rabbitTemplate.convertAndSend(RabbitConsts.FANOUT_MODE_QUEUE, "", new MessageStruct("fanout message")); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 测试主题模式发送1 |
|
|
|
*/ |
|
|
|
@Test |
|
|
|
public void sendTopic1() { |
|
|
|
rabbitTemplate.convertAndSend(RabbitConsts.TOPIC_MODE_QUEUE, "queue.aaa.bbb", new MessageStruct("topic message")); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 测试主题模式发送2 |
|
|
|
*/ |
|
|
|
@Test |
|
|
|
public void sendTopic2() { |
|
|
|
rabbitTemplate.convertAndSend(RabbitConsts.TOPIC_MODE_QUEUE, "ccc.queue", new MessageStruct("topic message")); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 测试主题模式发送3 |
|
|
|
*/ |
|
|
|
@Test |
|
|
|
public void sendTopic3() { |
|
|
|
rabbitTemplate.convertAndSend(RabbitConsts.TOPIC_MODE_QUEUE, "3.queue", new MessageStruct("topic message")); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 测试延迟队列发送 |
|
|
|
*/ |
|
|
|
@Test |
|
|
|
public void sendDelay() { |
|
|
|
rabbitTemplate.convertAndSend(RabbitConsts.DELAY_MODE_QUEUE, RabbitConsts.DELAY_QUEUE, new MessageStruct("delay message, delay 5s, " + DateUtil |
|
|
|
.date()), message -> { |
|
|
|
message.getMessageProperties().setHeader("x-delay", 5000); |
|
|
|
return message; |
|
|
|
}); |
|
|
|
rabbitTemplate.convertAndSend(RabbitConsts.DELAY_MODE_QUEUE, RabbitConsts.DELAY_QUEUE, new MessageStruct("delay message, delay 2s, " + DateUtil |
|
|
|
.date()), message -> { |
|
|
|
message.getMessageProperties().setHeader("x-delay", 2000); |
|
|
|
return message; |
|
|
|
}); |
|
|
|
rabbitTemplate.convertAndSend(RabbitConsts.DELAY_MODE_QUEUE, RabbitConsts.DELAY_QUEUE, new MessageStruct("delay message, delay 8s, " + DateUtil |
|
|
|
.date()), message -> { |
|
|
|
message.getMessageProperties().setHeader("x-delay", 8000); |
|
|
|
return message; |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
``` |
|
|
|
|
|
|
|
## 运行效果 |
|
|
|
|
|
|
|
### 直接模式 |
|
|
|