b保证消息可靠性 就是以Confirm形式发送消息 ack失败则添加到数据库 使用定时任务重新发送

main
夜灬瞬 2 years ago
parent 9a63a4524a
commit 8c327d2bd0

@ -1,6 +1,7 @@
package com.shun.placeOrder.config; package com.shun.placeOrder.config;
import com.shun.placeOrder.util.GlobalCache; import com.shun.placeOrder.util.GlobalCache;
import com.shun.placeOrder.util.Mock;
import jakarta.annotation.Nullable; import jakarta.annotation.Nullable;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message; import org.springframework.amqp.core.Message;
@ -12,6 +13,8 @@ import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Arrays; import java.util.Arrays;
import java.util.Map;
import java.util.Objects;
/** /**
* @author * @author
@ -52,7 +55,10 @@ public class RabbitTemplateConfig {
log.info("\n消息发送到Exchange成功!! msgId = " + msgId); log.info("\n消息发送到Exchange成功!! msgId = " + msgId);
GlobalCache.remove(msgId); GlobalCache.remove(msgId);
}else{ }else{
log.info("\n消息发送到Exchange失败!! msgId = " + msgId); log.error("\n消息发送到Exchange失败!! msgId = " + msgId);
Map value = (Map) GlobalCache.get(msgId);
// 推荐自己玩的时候用service做增删改操作控制事务~
Mock.save(value);
} }
}; };
} }

@ -0,0 +1,18 @@
package com.shun.placeOrder.util;
import lombok.extern.slf4j.Slf4j;
import java.util.Map;
/**
*
* @author
* @since 2023/6/24 15:25
*/
@Slf4j
public class Mock {
public static void save(Object value) {
log.info("保存");
}
}
Loading…
Cancel
Save