spring boot 三步集成rabbitmq

引入依赖

xml 复制代码
		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>

编写config类

java 复制代码
@Configuration
public class RabbitmqConfig {
    public static final String RECORD_QUEUE = "teaching-assistant-record_queue";
    @Bean
    public Jackson2JsonMessageConverter jsonMessageConverter() {
        return new Jackson2JsonMessageConverter();
    }
    @Bean
    public Queue queue() {
        //创建一个队列队列,并指定队列的名字
        return new Queue(RECORD_QUEUE,true);
    }
}

使用rabbitmq

java 复制代码
@Override
    public String add(ExamRecordDto examRecordDto) {
        rabbitTemplate.convertAndSend("", RabbitmqConfig.RECORD_QUEUE,examRecordDto);
        return "Exam record added successfully";
    }
    @Autowired
    private ExamRecordMapper examRecordMapper;
    @RabbitListener(queues = {RabbitmqConfig.RECORD_QUEUE})
    public void receiveHelloQueueMessage(ExamRecordDto examRecordDto) {
        System.out.println("消费者收到消息:"+examRecordDto.toString());
        QueryWrapper<ExamRecordEntity> queryWrapper=new QueryWrapper<>();
        queryWrapper.eq("exam_id",examRecordDto.getExamId());
        queryWrapper.eq("exercise_id",examRecordDto.getExerciseId());
        queryWrapper.eq("user_id",examRecordDto.getUserId());
        if(examRecordMapper.selectOne(queryWrapper)!=null){
            examRecordMapper.delete(queryWrapper);
        }
        examRecordMapper.insert(examRecordDto.toEntity());
    }
相关推荐
Java陈序员13 小时前
企业级!一个基于 Java 开发的开源 AI 应用开发平台!
spring boot·agent·mcp
杨运交21 小时前
[041][公共模块]分布式唯一ID生成器设计与实现:一款灵活可扩展的雪花算法框架
spring boot
Flittly2 天前
【AgentScope Java新手村系列】(14)人机交互
java·spring boot·spring
Flynt3 天前
从Spring Boot 4.0升到4.1,我在Maven和gRPC上栽了跟头
java·spring boot·后端
掉鱼的猫4 天前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·spring boot
人活一口气5 天前
Spring Boot与AIGC的完美结合:从零搭建智能内容生成平台
java·spring boot·aigc
java小白小8 天前
SpringBoot(01): 初识SpringBoot,从Spring的痛点说起
spring boot
用户3169353811838 天前
如何从零编写一个 Spring Boot Starter
spring boot
程序员晓琪9 天前
约定大于配置:基于 Java 包名自动生成 API 版本路由的最佳实践
java·spring boot·后端
Flittly9 天前
【AgentScope Java新手村系列】(11)中断与恢复
java·spring boot·spring