官方文檔隻給了純 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;
}
});
}