栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用自动连线的Spring Boot监听多个队列?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用自动连线的Spring Boot监听多个队列?

好的,我想出了如何让它侦听多个队列。认为与我的其他解决方案相比,可能存在一些缺点,主要是如果列出的队列不存在,则它不起作用。我最终使用了@RabbitListener完全不同的方法

@Componentpublic class EventListener {    private static Logger LOG = LoggerFactory.getLogger(EventListener.class);    private CountDownLatch latch = new CountDownLatch(1);    @RabbitListener(queues = "myqueue")    public void processPaymentMessage(Object message) {        LOG.info("Message is of type: " + message.getClass().getName());        if(!(message instanceof byte[])) message = ((Message) message).getBody();        String content = new String((byte[])message, StandardCharsets.UTF_8);        LOG.info("Received on myqueue: " + content);        latch.countDown();    }    @RabbitListener(queues = "myotherqueue")    public void processOrderMessage(Object message) {        LOG.info("Message is of type: " + message.getClass().getName());        if(!(message instanceof byte[])) message = ((Message) message).getBody();        String content = new String((byte[])message, StandardCharsets.UTF_8);        LOG.info("Received on myotherqueue: " + content);        latch.countDown();    }   }

在byte
[]上的整个检查都在其中,因为从命令行发送的消息看起来像什么。否则,它是org.springframework.amqp.core.Message。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/412137.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号