【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. 方式二

基于业务

相关推荐
曹牧3 小时前
文档格式:OFD
java
豆角焖肉3 小时前
Maven进阶与搭建私服
java·maven
大不点wow3 小时前
Java序列化与反序列化:让对象走出JVM
java·开发语言·jvm
噢,我明白了3 小时前
Java中日期和字符串的处理
java·开发语言·日期
dkbnull4 小时前
Spring Boot请求处理组件对比详解
java·spring boot
jun_bai4 小时前
Orthanc服务器使用java上传dicom影像文件
java·运维·服务器
顺风尿一寸4 小时前
记一次 Spring AOP 与定时任务引发的死锁排查
java
用户446139430274 小时前
从单体到微服务:我们项目的拆分思路和踩坑记录
java
TDengine (老段)4 小时前
TDengine 免费版说明
java·大数据·数据库·物联网·时序数据库·tdengine
码上有光4 小时前
异常和智能指针
java·大数据·c++·servlet·异常·智能指针