|
- package com.xkcoding.mq.rabbitmq;
-
- import cn.hutool.core.date.DateUtil;
- import com.xkcoding.mq.rabbitmq.constants.RabbitConsts;
- import com.xkcoding.mq.rabbitmq.message.MessageStruct;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.springframework.amqp.rabbit.core.RabbitTemplate;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.test.context.SpringBootTest;
- import org.springframework.test.context.junit4.SpringRunner;
-
- @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;
- });
- }
-
- }
|