问题描述
我正在尝试在 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
。