此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 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
).
以前,缺少队列总是致命的。
请参阅消息侦听器容器配置。