spring rabbitmq @RabbitListener注解参数详解
@Queue注解为我们提供了队列相关的一些属性,具体如下: name: 队列的名称; durable: 是否持久化; exclusive: 是否独享、排外的; autoDelete: 是否自动删除; arguments:队列的其他属性参数,有如下可选项,可参看图2的arguments: x-message-ttl:消息的过期时间,单位:毫秒; x-expires:队列过期时间,队列在多长时间未被访问将被删除,单位:毫秒; x-max-length:队列最大长度,超过该最大值,则将从队列头部开始删除消息; x-max-length-bytes:队列消息内容占用最大空间,受限于内存大小,超过该阈值则从队列头部开始删除消息; x-overflow:设置队列溢出行为。这决定了当达到队列的最大长度时消息会发生什么。有效值是drop-head、reject-publish或reject-publish-dlx。仲裁队列类型仅支持drop-head; x-dead-letter-exchange:死信交换器名称,过期或被删除(因队列长度超长或因空间超出阈值)的消息可指定发送到该交换器中; x-dead-letter-routing-key:死信消息路由键,在消息发送到死信交换器时会使用该路由键,如果不设置,则使用消息的原来的路由键值 x-single-active-consumer:表示队列是否是单一活动消费者,true时,注册的消费组内只有一个消费者消费消息,其他被忽略,false时消息循环分发给所有消费者(默认false) x-max-priority:队列要支持的最大优先级数;如果未设置,队列将不支持消息优先级; x-queue-mode(Lazy mode):将队列设置为延迟模式,在磁盘上保留尽可能多的消息,以减少RAM的使用;如果未设置,队列将保留内存缓存以尽可能快地传递消息; x-queue-master-locator:在集群模式下设置镜像队列的主节点信息。 @RabbitListener 提供消费者配置 ackMode:覆盖容器工厂 AcknowledgeMode属性。 admin:参考AmqpAdmin. autoStartup:设置为 true 或 false,以覆盖容器工厂中的默认设置。 QueueBinding[] bindings:QueueBinding提供监听器队列名称以及交换和可选绑定信息的数组。 concurrency:消费并发数。 containerFactory:RabbitListenerContainerFactory的bean名称 ,没有则使用默认工厂。 converterWinsContentType:设置为“false”以使用“replyContentType”属性的值覆盖由消息转换器设置的任何内容类型标头。 errorHandler:消息异常时调用的方法名。 exclusive:当为true时,容器中的单个消费者将独占使用 queues(),从而阻止其他消费者从队列接收消息。 executor:线程池bean的名称 group:如果提供,则此侦听器的侦听器容器将添加到以该值作为其名称的类型为 的 bean 中Collection<MessageListenerContainer>。 id:为此端点管理的容器的唯一标识符。 messageConverter:消息转换器。 priority:此端点的优先级。 String[] queues:监听的队列名称 Queue[] queuesToDeclare:监听的队列Queue注解对象,与bindings()、queues()互斥。 replyContentType:用于设置回复消息的内容类型。 replyPostProcessor:在ReplyPostProcessor发送之前处理响应的 bean 名称 。 returnExceptions:设置为“true”以导致使用正常replyTo/@SendTo语义将侦听器抛出的异常发送给发送者。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2021-07-20 java8 stream:检查list集合中是否存在某个值