Rabbitmq入门与应用(三)-RabbitMQ开发流程
- 游戏开发
- 2025-08-03 20:54:01

RabbitMQ开发流程 引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> 配置MQ
最简配置
spring: rabbitmq: host: mq的安装机器ip port: 5672 username: admin password: 123 创建队列在配置类中创建队列对象。
@Configuration public class SimpleQueueConfig { @Bean public Queue queue(){ } } 生产者 private RabbitTemplate rabbitTemplate; //rabbitmq操作对象convertAndSend : 发送方法 if (m > 0) { Long maotai = stringRedisTemplate.opsForValue() .decrement("maotai");//原子性redis操作 log.debug("抢购茅台一瓶,还剩:{}瓶", maotai); s1 =System.currentTimeMillis(); //操作数据库修改数据 rabbitTemplate.convertAndSend("hello_queue",1); s2 =System.currentTimeMillis(); log.debug("耗时:{}ms",(s2-s1)); return HttpResp.success("去库存成功:"+(s2-s1)); } else { return HttpResp.failed("0"); } 消费者 @RabbitListener(queues = “要监听的队列名称”)@RabbitHandler //要使用RabbitMQ处理的方法 @RabbitListener(queues = "hello_queue") @Override public void updateByBookIdMq(Long bookId) throws InterruptedException { LambdaQueryWrapper<Store> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Store::getBook, bookId); Store store = storeDao.selectOne(queryWrapper); if (store.getNum() > 0) { int left = store.getNum() - 1; Thread.sleep(50); store.setNum(left); storeDao.updateById(store); log.debug("数据库修改数据完成,库存量:{}", left); } }Rabbitmq入门与应用(三)-RabbitMQ开发流程由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Rabbitmq入门与应用(三)-RabbitMQ开发流程”