微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在springboot中从rabbitMQ消费时@RabbitListener()的使用和DirectMessageListenerContainer的使用之间的区别

如何解决在springboot中从rabbitMQ消费时@RabbitListener()的使用和DirectMessageListenerContainer的使用之间的区别

我正在尝试在 spring 中配置并发消费者以使用来自 RabbitMQ 的消息,以实现我以两种方式配置消费者

1.用 @RabbitListener(queues = "name of queue") 注释一个方法

2.实现“MessageListener”接口并覆盖onMessage(Message message)

就我而言,这两种方式都很好,但我无法弄清楚使用 @RabbitListener() 启动消费者的优缺点是什么。

另外补充一点,我在我的配置中配置了“DirectMessageListenerContainer”并将其映射到“MessageListener”实现以实现并发消费者,我的问题是我们可以为通过@RabbitListener() 实现的消费者做相同的映射,如果是这样如何。我找不到关于消费者如何开始使用 @RabbitListener() 注释方法的任何来源可以使用“DirectMessageListenerContainer”进行配置

感谢任何帮助。

解决方法

@RabbitListener 只是一个更高级别的抽象。它使用下面的侦听器容器。

使用 spring boot 时,使用 ...listener.type 应用程序属性指定您想要的容器类型。

默认值为 simple

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。