天天看點

消息隊列AMQP Spring Boot發送延時消息

延時消息

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


    }