From f757b44cf6e8ebc1a8942c9ded338544d7485d24 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 21 May 2021 17:53:47 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/rabbit/producer/OtcProducter.java | 20 +++++++++++++++++--- 1 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/xcong/excoin/rabbit/producer/OtcProducter.java b/src/main/java/com/xcong/excoin/rabbit/producer/OtcProducter.java index c782cac..cd29a9e 100644 --- a/src/main/java/com/xcong/excoin/rabbit/producer/OtcProducter.java +++ b/src/main/java/com/xcong/excoin/rabbit/producer/OtcProducter.java @@ -4,6 +4,11 @@ import cn.hutool.core.util.IdUtil; import com.xcong.excoin.configurations.RabbitMqConfig; import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.AmqpException; +import org.springframework.amqp.core.AmqpTemplate; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.core.MessageDeliveryMode; +import org.springframework.amqp.core.MessagePostProcessor; import org.springframework.amqp.rabbit.connection.CorrelationData; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; @@ -19,6 +24,9 @@ private RabbitTemplate rabbitTemplate; @Autowired + private AmqpTemplate amqpTemplate; + + @Autowired public OtcProducter(RabbitTemplate rabbitTemplate) { this.rabbitTemplate = rabbitTemplate; rabbitTemplate.setConfirmCallback(this); @@ -32,9 +40,15 @@ public void sendDelayOrderMsg(String content) { log.info("-----{}", new Date()); - rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_DELAY, RabbitMqConfig.ROUTING_KEY_DELAY, content, message -> { - message.getMessageProperties().setExpiration(1000 * 60 + ""); - return message; + CorrelationData correlationData = new CorrelationData(IdUtil.simpleUUID()); + amqpTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_DELAY, RabbitMqConfig.ROUTING_KEY_DELAY, content, new MessagePostProcessor() { + @Override + public Message postProcessMessage(Message message) throws AmqpException { + //设置消息持久化 + message.getMessageProperties().setDeliveryMode(MessageDeliveryMode.PERSISTENT); + message.getMessageProperties().setHeader("x-delay", 6000);//设置延时时间 + return message; + } }); } -- Gitblit v1.9.1