【RabbitMQ】07-业务幂等处理

1. 方式一

序列化设置唯一Id。

java 复制代码
    @Bean
    public MessageConverter messageConverter() {
        Jackson2JsonMessageConverter jjmc = new Jackson2JsonMessageConverter();
        jjmc.setCreateMessageIds(true);
        return jjmc;
    }
java 复制代码
    @RabbitListener(bindings = @QueueBinding(
            value = @Queue(name = "direct.queue1"),
            exchange = @Exchange(name = "hmall.direct", type = ExchangeTypes.DIRECT),
            key = {"red", "yellow"}
    ))
    public void topicLister1(Message msg) {
        log.info("测试" + msg.getMessageProperties().getMessageId());
        System.out.println(new String(msg.getBody()));
        // throw new RuntimeException("用于测试的异常");
    }

2. 方式二

基于业务

相关推荐
陈文锦丫13 小时前
MQ的学习
java·开发语言
乌暮13 小时前
JavaEE初阶---线程安全问题
java·java-ee
爱笑的眼睛1113 小时前
GraphQL:从数据查询到应用架构的范式演进
java·人工智能·python·ai
Seven9713 小时前
剑指offer-52、正则表达式匹配
java
代码or搬砖14 小时前
RBAC(权限认证)小例子
java·数据库·spring boot
青蛙大侠公主14 小时前
Thread及其相关类
java·开发语言
Coder_Boy_14 小时前
DDD从0到企业级:迭代式学习 (共17章)之 四
java·人工智能·驱动开发·学习
2301_7683502314 小时前
MySQL为什么选择InnoDB作为存储引擎
java·数据库·mysql
派大鑫wink14 小时前
【Java 学习日记】开篇:以日记为舟,渡 Java 进阶之海
java·笔记·程序人生·学习方法