此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring AMQP 3.2.6! |
自 1.2 以来 1.3 的变化
侦听器并发
侦听器容器现在支持根据工作负载动态缩放使用者数量,或者您可以以编程方式更改并发性,而无需停止容器。 请参阅侦听器并发。
侦听器队列
侦听器容器现在允许在运行时修改它侦听的队列。 此外,如果容器配置的队列中至少有一个可供使用,则容器现在将启动。 请参阅侦听器容器队列
此侦听器容器现在在启动期间重新声明任何自动删除队列。
看auto-delete
队列.
消费者优先
侦听器容器现在支持消费者参数,让x-priority
参数。
请参阅消费者优先级。
独家消费者
您现在可以配置SimpleMessageListenerContainer
与单个exclusive
consumer,阻止其他消费者监听队列。
请参阅独占消费者。
兔子管理员
您现在可以让代理生成队列名称,无论durable
,autoDelete
和exclusive
设置。
请参阅配置代理。
直接交换绑定
以前,省略key
属性binding
元素的direct-exchange
配置导致队列或交换与空字符串绑定为路由键。
现在它与提供的Queue
或Exchange
.
如果要使用空字符串路由键绑定,则需要指定key=""
.
AmqpTemplate
变化
这AmqpTemplate
现在提供多个同步receiveAndReply
方法。
这些是由RabbitTemplate
.
有关详细信息,请参阅接收消息。
这RabbitTemplate
现在支持配置RetryTemplate
在代理不可用时尝试重试(使用可选的退避策略)。
有关详细信息,请参阅添加重试功能。
缓存连接工厂
现在可以将缓存连接工厂配置为缓存Connection
实例及其Channel
实例,而不是使用单个连接和仅缓存Channel
实例。
请参阅连接和资源管理。
绑定参数
这<binding>
的<exchange>
现在支持解析<binding-arguments>
子元素。
您现在可以配置<binding>
的<headers-exchange>
使用key/value
属性对(在单个标头上匹配)或使用<binding-arguments>
子元素(允许在多个标头上进行匹配)。
这些选项是相互排斥的。
请参阅标头交换。
工艺路线连接工厂
一个新的SimpleRoutingConnectionFactory
已被引入。
它允许配置ConnectionFactories
映射,以确定目标ConnectionFactory
在运行时使用。
请参阅布线连接工厂。
MessageBuilder
和MessagePropertiesBuilder
现在提供了用于生成消息或消息属性的“Fluent API”。请参阅消息生成器 API。
RetryInterceptorBuilder
改变
现在提供了用于构建侦听器容器重试拦截器的“Fluent API”。请参阅同步作中的失败和重试选项。
RepublishMessageRecoverer
添加
这个新的MessageRecoverer
用于允许在重试用尽时将失败的消息发布到另一个队列(包括标头中的堆栈跟踪信息)。请参阅消息侦听器和异步情况。
默认错误处理程序(自 1.3.2 起)
默认ConditionalRejectingErrorHandler
已添加到侦听器容器中。此错误处理程序检测致命的消息转换问题,并指示容器拒绝该消息,以防止代理不断重新传递不可转换的消息。请参阅异常处理。
侦听器容器missingQueuesFatal
属性(自 1.3.5 起)
这SimpleMessageListenerContainer
现在有一个名为missingQueuesFatal
(默认值:true
). 以前,丢失的队列总是致命的。请参阅消息侦听器容器配置。