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());
    }
相关推荐
eternal__day2 小时前
Spring Boot 实现验证码生成与校验:从零开始构建安全登录系统
java·spring boot·后端·安全·java-ee·学习方法
宛如昨晚没早睡5 小时前
SpringBoot的自动配置和起步依赖原理
spring boot
源码云商5 小时前
Spring Boot + Vue 实现在线视频教育平台
vue.js·spring boot·后端
Micro麦可乐8 小时前
最新Spring Security实战教程(十四)OAuth2.0精讲 - 四种授权模式与资源服务器搭建
java·服务器·spring boot·spring·spring security·oauth2·oauth2授权
caihuayuan59 小时前
[数据库之十四] 数据库索引之位图索引
java·大数据·spring boot·后端·课程设计
天上掉下来个程小白9 小时前
缓存菜品-04.功能测试
java·spring boot·缓存·微信小程序·需求分析·苍穹外卖
Q_Q196328847511 小时前
python小说网站管理系统-小说阅读系统
开发语言·spring boot·python·django·flask·node.js·php
喵手11 小时前
Spring Boot 中的事务管理是如何工作的?
数据库·spring boot·后端
玄武后端技术栈12 小时前
什么是延迟队列?RabbitMQ 如何实现延迟队列?
分布式·后端·rabbitmq
bingbingyihao14 小时前
SpringBoot教程(vuepress版)
java·spring boot·后端