Browse Source

spring-boot-demo-mq-rabbitmq 完成

pull/1/head
Yangkai.Shen 6 years ago
parent
commit
7ec7aa185d
3 changed files with 20 additions and 15 deletions
  1. +2
    -2
      spring-boot-demo-mq-rabbitmq/src/main/java/com/xkcoding/mq/rabbitmq/config/RabbitMqConfig.java
  2. +7
    -12
      spring-boot-demo-mq-rabbitmq/src/main/java/com/xkcoding/mq/rabbitmq/constants/RabbitConsts.java
  3. +11
    -1
      spring-boot-demo-mq-rabbitmq/src/test/java/com/xkcoding/mq/rabbitmq/SpringBootDemoMqRabbitmqApplicationTests.java

+ 2
- 2
spring-boot-demo-mq-rabbitmq/src/main/java/com/xkcoding/mq/rabbitmq/config/RabbitMqConfig.java View File

@@ -97,7 +97,7 @@ public class RabbitMqConfig {
* 主题模式队列
* <li>路由格式必须以 . 分隔,比如 user.email 或者 user.aaa.email</li>
* <li>通配符 * ,代表一个占位符,或者说一个单词,比如路由为 user.*,那么 user.email 可以匹配,但是 user.aaa.email 就匹配不了</li>
* <li>通配符 # ,代表一个或多个占位符,或者说一个或多个单词,比如路由为 user.#,那么 user.email 可以匹配,user.aaa.email 也匹配不了</li>
* <li>通配符 # ,代表一个或多个占位符,或者说一个或多个单词,比如路由为 user.#,那么 user.email 可以匹配,user.aaa.email 也可以匹配</li>
*/
@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();
}

}

+ 7
- 12
spring-boot-demo-mq-rabbitmq/src/main/java/com/xkcoding/mq/rabbitmq/constants/RabbitConsts.java View File

@@ -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";
}

+ 11
- 1
spring-boot-demo-mq-rabbitmq/src/test/java/com/xkcoding/mq/rabbitmq/SpringBootDemoMqRabbitmqApplicationTests.java View File

@@ -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;
});
}

}


Loading…
Cancel
Save