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