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