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