rengb пре 3 година
родитељ
комит
b14c0eca54

+ 11 - 1
security-center/src/main/java/com/lantone/security/component/MessageSender.java

@@ -1,6 +1,10 @@
 package com.lantone.security.component;
 
 import com.lantone.security.enums.QueueEnum;
+import org.springframework.amqp.AmqpException;
+import org.springframework.amqp.core.Message;
+import org.springframework.amqp.core.MessageDeliveryMode;
+import org.springframework.amqp.core.MessagePostProcessor;
 import org.springframework.amqp.rabbit.core.RabbitTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -20,7 +24,13 @@ public class MessageSender {
      * 基础信息变更导致redis需要刷新—消息发送
      */
     public void sendRedisCacheRefreshMessage(String type) {
-        rabbitTemplate.convertAndSend(QueueEnum.QUEUE_REDIS_CACHE_REFRESH.getExchange(), QueueEnum.QUEUE_REDIS_CACHE_REFRESH.getRouteKey(), type);
+        rabbitTemplate.convertAndSend(QueueEnum.QUEUE_REDIS_CACHE_REFRESH.getExchange(), QueueEnum.QUEUE_REDIS_CACHE_REFRESH.getRouteKey(), type, new MessagePostProcessor() {
+            @Override
+            public Message postProcessMessage(Message message) throws AmqpException {
+                message.getMessageProperties().setDeliveryMode(MessageDeliveryMode.PERSISTENT);
+                return message;
+            }
+        });
     }
 
 }