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