延时消息官方文档只给了纯 Java 的实现代码。
而官方提供的Spring Boot demo中没有涉及到延时消息。
可以直接修改下Sender
代码修改如下:
public void send() {
String exchange = "exchangeName";
String routingKey = "product";
String message = LocalDateTime.now().toString() + "延时消息";
System.out.println(LocalDateTime.now().toString());
rabbitTemplate.convertAndSend(exchange, routingKey, message, new MessagePostProcessor() {
public Message postProcessMessage(Message message) throws AmqpException {
message.getMessageProperties().setHeader("delay",6000);//延迟6秒
return message;
}
});
}