diff --git a/spring-boot-demo-mq-rabbitmq/README.md b/spring-boot-demo-mq-rabbitmq/README.md index 7abc695..19a8aeb 100644 --- a/spring-boot-demo-mq-rabbitmq/README.md +++ b/spring-boot-demo-mq-rabbitmq/README.md @@ -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; + }); + } + +} +``` + ## 运行效果 ### 直接模式