此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring AMQP 3.2.6! |
自 1.4 以来 1.5 的变化
spring-erlang
不再支持
这spring-erlang
jar 不再包含在发行版中。
请改用 RabbitMQ REST API。
用于控制容器队列声明行为的属性
当侦听器容器使用者启动时,他们会尝试被动声明队列以确保它们可用
在经纪人上。
以前,如果这些声明失败(例如,因为队列不存在)或 HA 队列正在
移动后,重试逻辑固定为以五秒为间隔的三次重试尝试。
如果队列仍然不存在,则行为由missingQueuesFatal
属性(默认:true
).
此外,对于配置为从多个队列监听的容器,如果只有队列的子集可用,则使用者
以 60 秒的固定间隔重试丢失的队列。
这declarationRetries
,failedDeclarationRetryInterval
和retryDeclarationInterval
属性现在是可配置的。
有关详细信息,请参阅消息侦听器容器配置。
DefaultMessagePropertiesConverter
变化
您现在可以配置DefaultMessagePropertiesConverter
自
确定LongString
转换后的
设置为String
而不是DataInputStream
.
转换器有一个替代构造函数,它将该值作为限制。
以前,此限制是硬编码的1024
字节。
(1.4.4 中也可用)。
@RabbitListener
改进
自动交换、队列和绑定声明
您现在可以声明定义这些实体集合的 bean,并且RabbitAdmin
添加
内容添加到建立连接时声明的实体列表。
有关详细信息,请参阅声明交换、队列和绑定的集合。
RabbitTemplate
变化
reply-address
添加
这reply-address
属性已添加到<rabbit-template>
组件作为替代方案reply-queue
.
有关详细信息,请参阅请求/回复消息。
(在 1.4.4 中也可作为RabbitTemplate
).
阻塞receive
方法
这RabbitTemplate
现在支持阻止receive
和convertAndReceive
方法。
有关详细信息,请参阅轮询消费者。
强制使用sendAndReceive
方法
当mandatory
标志在使用sendAndReceive
和convertSendAndReceive
方法,调用线程
抛出一个AmqpMessageReturnedException
如果无法传递请求消息。
有关更多信息,请参阅回复超时。
RabbitManagementTemplate
添加
这RabbitManagementTemplate
引入了 RabbitMQ Broker 的管理插件提供的 REST API 来监控和配置 RabbitMQ Broker。
有关更多信息,请参阅 RabbitMQ REST API。
侦听器容器 Bean 名称 (XML)
这 应用正常的 Spring Bean 名称覆盖。
如果稍后的 迁移到此版本时,如果有 |
但是,为了支持将容器作为一个组启动和停止,新的group
属性。
定义此属性后,此元素创建的容器将添加到具有此名称的 bean 中,类型为Collection<SimpleMessageListenerContainer>
.
可以循环访问此组以启动和停止容器。
班级@RabbitListener
这@RabbitListener
现在可以在类级别应用注释。
与新的@RabbitHandler
方法注释,这允许您根据有效负载类型选择处理程序方法。
有关更多信息,请参阅多方法侦听器。
SimpleMessageListenerContainer
: BackOff 支持
这SimpleMessageListenerContainer
现在可以提供BackOff
实例consumer
启动恢复。
有关详细信息,请参阅消息侦听器容器配置。
通道关闭日志记录
引入了一种控制通道关闭日志水平的机制。 请参阅记录通道关闭事件。
应用程序事件
这SimpleMessageListenerContainer
现在在使用者发生故障时发出应用程序事件。
有关详细信息,请参阅消费者事件。
消费者标签配置
以前,异步使用者的使用者标签是由代理生成的。 在此版本中,现在可以向侦听器容器提供命名策略。 请参阅消费者标签。
匿名队列命名
从 1.5.3 版本开始,您现在可以控制如何AnonymousQueue
生成名称。
看AnonymousQueue
了解更多信息。