RabbitMQ的使用--以topic路由为例
Rabbit界面操作
- 新建队列:输入Name -> 添加队列
- 新建交换机:输入Name -> 选择Type -> 添加交换机
- 交换机绑定队列:选择交换机 -> 选择队列 -> 输入Routing Key -> 绑定
SpringBoot中:
首先要明确:生产者只负责给交换机发送数据,消费者只负责从队列中获取数据。生产者代码:
@Controller @RequestMapping("/publisher") @RequiredArgsConstructor public class rabbitMQPublisher { final RabbitTemplate rabbitTemplate; @PostMapping("/send") public Result sendMessage(@RequestParam String routingKey,@RequestParam String message) { String exchangeName = "Rabbit.topic"; rabbitTemplate.convertAndSend(exchangeName,routingKey, message); return Result.ok(); } }
消费者代码:
@Component @Slf4j public class rabbitMQCosumer { @RabbitListener(queues = "topic.queue1") public void consume1(String msg) { log.debug("consume1接收到消息:{}",msg); } @RabbitListener(queues = "topic.queue2") public void consume2(String msg) { log.debug("consume2接收到消息:{}",msg); } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步