RabbitMQ 版本
Spring AMQP 现在默认使用 RabbitMQ 3.1.x(但保留与早期版本的兼容性)。
对于 RabbitMQ 3.1.x 不再支持的功能,添加了某些弃用项 — 联合交换和 .immediate
RabbitTemplate
兔子管理员
RabbitAdmin
现在提供了一个选项,用于在声明失败时继续执行 Exchange、Queue 和 Binding 声明。
以前,所有声明都会在失败时停止。
通过设置,将记录此类异常(在级别上),但进一步的声明仍在继续。
这可能有用的一个示例是,当队列声明由于设置略有不同而失败时,通常会阻止其他声明继续。ignore-declaration-exceptions
WARN
ttl
RabbitAdmin
现在提供了一个名为 的附加方法。
您可以使用此选项来确定代理上是否存在队列(对于不存在的队列,则返回)。
此外,它还返回队列中的当前消息数以及当前使用者数。getQueueProperties()
null
兔子模板
以前,当这些方法与固定回复队列一起使用时,两个自定义标头用于关联数据以及保留和还原回复队列信息。
在此版本中,默认使用标准消息属性 (),但您可以指定要改用的自定义属性。
此外,嵌套信息现在保留在模板内部,而不是使用自定义标头。…sendAndReceive()
correlationId
replyTo
该属性已弃用。
使用 RabbitMQ 3.0.x 或更高版本时,不得设置此属性。immediate
队列和其他项目的自动声明
以前,在声明队列、交换和绑定时,无法定义用于声明的连接工厂。
每个组件都使用其连接声明所有组件。RabbitAdmin
从此版本开始,您现在可以将声明限制为特定实例。
请参阅条件声明。RabbitAdmin
AMQP 远程处理
现在提供了使用 Spring 远程处理技术的工具,使用 AMQP 作为 RPC 调用的传输。 有关详细信息,请参阅 [远程处理]
请求的心跳
一些用户要求在Spring AMQP上公开底层客户端连接工厂的属性。
现在可用。
以前,需要将 AMQP 客户机工厂配置为单独的 Bean,并在 .requestedHeartBeats
CachingConnectionFactory
CachingConnectionFactory