From 7ec7aa185d48fceb7e340be4d3e71c1e2c689ba6 Mon Sep 17 00:00:00 2001 From: "Yangkai.Shen" <237497819@qq.com> Date: Mon, 7 Jan 2019 10:48:40 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20spring-boot-demo-mq-rabbitmq=20?= =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mq/rabbitmq/config/RabbitMqConfig.java | 4 ++-- .../mq/rabbitmq/constants/RabbitConsts.java | 19 +++++++------------ ...ingBootDemoMqRabbitmqApplicationTests.java | 12 +++++++++++- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/spring-boot-demo-mq-rabbitmq/src/main/java/com/xkcoding/mq/rabbitmq/config/RabbitMqConfig.java b/spring-boot-demo-mq-rabbitmq/src/main/java/com/xkcoding/mq/rabbitmq/config/RabbitMqConfig.java index f241c62..e55f01c 100644 --- a/spring-boot-demo-mq-rabbitmq/src/main/java/com/xkcoding/mq/rabbitmq/config/RabbitMqConfig.java +++ b/spring-boot-demo-mq-rabbitmq/src/main/java/com/xkcoding/mq/rabbitmq/config/RabbitMqConfig.java @@ -97,7 +97,7 @@ public class RabbitMqConfig { * 主题模式队列 *
  • 路由格式必须以 . 分隔,比如 user.email 或者 user.aaa.email
  • *
  • 通配符 * ,代表一个占位符,或者说一个单词,比如路由为 user.*,那么 user.email 可以匹配,但是 user.aaa.email 就匹配不了
  • - *
  • 通配符 # ,代表一个或多个占位符,或者说一个或多个单词,比如路由为 user.#,那么 user.email 可以匹配,user.aaa.email 也匹配不了
  • + *
  • 通配符 # ,代表一个或多个占位符,或者说一个或多个单词,比如路由为 user.#,那么 user.email 可以匹配,user.aaa.email 也可以匹配
  • */ @Bean public TopicExchange topicExchange() { @@ -164,7 +164,7 @@ public class RabbitMqConfig { */ @Bean public Binding delayBinding(Queue delayQueue, CustomExchange delayExchange) { - return BindingBuilder.bind(delayQueue).to(delayExchange).with(RabbitConsts.DELAY_MODE_ROUTING_KEY).noargs(); + return BindingBuilder.bind(delayQueue).to(delayExchange).with(RabbitConsts.DELAY_QUEUE).noargs(); } } diff --git a/spring-boot-demo-mq-rabbitmq/src/main/java/com/xkcoding/mq/rabbitmq/constants/RabbitConsts.java b/spring-boot-demo-mq-rabbitmq/src/main/java/com/xkcoding/mq/rabbitmq/constants/RabbitConsts.java index 3cda1af..8c117aa 100644 --- a/spring-boot-demo-mq-rabbitmq/src/main/java/com/xkcoding/mq/rabbitmq/constants/RabbitConsts.java +++ b/spring-boot-demo-mq-rabbitmq/src/main/java/com/xkcoding/mq/rabbitmq/constants/RabbitConsts.java @@ -17,27 +17,27 @@ public interface RabbitConsts { /** * 直接模式1 */ - String DIRECT_MODE_QUEUE_ONE = "queue_direct_1"; + String DIRECT_MODE_QUEUE_ONE = "queue.direct.1"; /** * 队列2 */ - String QUEUE_TWO = "queue_2"; + String QUEUE_TWO = "queue.2"; /** * 队列3 */ - String QUEUE_THREE = "3_queue"; + String QUEUE_THREE = "3.queue"; /** * 分列模式 */ - String FANOUT_MODE_QUEUE = "fanout_mode"; + String FANOUT_MODE_QUEUE = "fanout.mode"; /** * 主题模式 */ - String TOPIC_MODE_QUEUE = "topic_mode"; + String TOPIC_MODE_QUEUE = "topic.mode"; /** * 路由1 @@ -57,15 +57,10 @@ public interface RabbitConsts { /** * 延迟队列 */ - String DELAY_QUEUE = "delay_queue"; + String DELAY_QUEUE = "delay.queue"; /** * 延迟队列交换器 */ - String DELAY_MODE_QUEUE = "delay_mode"; - - /** - * 延迟队列路由 - */ - String DELAY_MODE_ROUTING_KEY = "delay.#"; + String DELAY_MODE_QUEUE = "delay.mode"; } diff --git a/spring-boot-demo-mq-rabbitmq/src/test/java/com/xkcoding/mq/rabbitmq/SpringBootDemoMqRabbitmqApplicationTests.java b/spring-boot-demo-mq-rabbitmq/src/test/java/com/xkcoding/mq/rabbitmq/SpringBootDemoMqRabbitmqApplicationTests.java index 4f928cd..2a69a26 100644 --- a/spring-boot-demo-mq-rabbitmq/src/test/java/com/xkcoding/mq/rabbitmq/SpringBootDemoMqRabbitmqApplicationTests.java +++ b/spring-boot-demo-mq-rabbitmq/src/test/java/com/xkcoding/mq/rabbitmq/SpringBootDemoMqRabbitmqApplicationTests.java @@ -61,11 +61,21 @@ public class SpringBootDemoMqRabbitmqApplicationTests { */ @Test public void sendDelay() { - rabbitTemplate.convertAndSend(RabbitConsts.DELAY_MODE_QUEUE, "delay.aaa", new MessageStruct("delay message, " + DateUtil + 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; + }); } }