@RabbitListener注解

POJO 侦听器可以用 、 或 启用 进行注释。 此功能需要 Spring Framework 4.1。 有关详细信息,请参阅注释驱动的侦听器端点@RabbitListener@EnableRabbit<rabbit:annotation-driven />Spring中文文档

RabbitMessagingTemplate添加

新功能允许您使用实例与 RabbitMQ 进行交互。 在内部,它使用 ,您可以正常配置。 此功能需要 Spring Framework 4.1。 有关详细信息,请参阅消息传递集成RabbitMessagingTemplatespring-messagingMessageRabbitTemplateSpring中文文档

侦听器容器属性missingQueuesFatal

1.3.5 引入了 . 现在,这在侦听器容器命名空间元素上可用。 请参阅消息侦听器容器配置missingQueuesFatalSimpleMessageListenerContainerSpring中文文档

RabbitTemplate 接口ConfirmCallback

此接口上的方法具有一个名为 的附加参数。 如果可用,此参数将包含否定确认 (nack) 的原因。 请参阅相关发布者确认和返回。confirmcauseSpring中文文档

RabbitConnectionFactoryBean添加

RabbitConnectionFactoryBean创建 使用的底层 RabbitMQ。 这样就可以使用 Spring 的依赖注入来配置 SSL 选项。 请参阅 [connection-factory]。ConnectionFactoryCachingConnectionFactorySpring中文文档

CachingConnectionFactory

现在允许将其设置为命名空间中的属性或属性。 它在基础 RabbitMQ 上设置属性。 请参阅 [connection-factory]。CachingConnectionFactoryconnectionTimeoutConnectionFactorySpring中文文档

日志追加器

引入了 Logback。 它提供了类似于 的选项。 有关更多信息,请参见这些类的 JavaDoc。org.springframework.amqp.rabbit.logback.AmqpAppenderorg.springframework.amqp.rabbit.log4j.AmqpAppenderSpring中文文档

Log4j 现在支持属性 ( 或 , 默认值: )。 以前,所有 log4j 消息都是 .AmqpAppenderdeliveryModePERSISTENTNON_PERSISTENTPERSISTENTPERSISTENTSpring中文文档

appender 还支持在发送之前修改 - 例如,允许添加自定义标头。 子类应覆盖 .MessagepostProcessMessageBeforeSend()Spring中文文档

侦听器队列

默认情况下,侦听器容器现在在启动期间重新声明任何丢失的队列。 已向 添加了一个新属性,以防止这些重新声明。 请参阅自动删除队列auto-declare<rabbit:listener-container>Spring中文文档

RabbitTemplate: 和表达式mandatoryconnectionFactorySelector

、 和 SpEL 表达式的属性已添加到 中。 用于在使用 a 时根据每个请求消息计算布尔值。 请参阅相关发布者确认和返回。 当提供 an 时,将使用 和 来确定每个 AMQP 协议交互操作在运行时的目标。 请参阅 [routing-connection-factory]。mandatoryExpressionsendConnectionFactorySelectorExpressionreceiveConnectionFactorySelectorExpressionRabbitTemplatemandatoryExpressionmandatoryReturnCallbacksendConnectionFactorySelectorExpressionreceiveConnectionFactorySelectorExpressionAbstractRoutingConnectionFactorylookupKeyConnectionFactorySpring中文文档

侦听器和路由连接工厂

您可以配置路由连接工厂,以启用基于队列名称的连接选择。 请参阅 [routing-connection-factory]。SimpleMessageListenerContainerSpring中文文档

RabbitTemplate:选择RecoveryCallback

该属性已添加,以便在 中使用。 请参阅添加重试功能recoveryCallbackretryTemplate.execute()Spring中文文档

MessageConversionException改变

此异常现在是 的子类。 请考虑以下代码:AmqpExceptionSpring中文文档

try {
    template.convertAndSend("thing1", "thing2", "cat");
}
catch (AmqpException e) {
	...
}
catch (MessageConversionException e) {
	...
}

第二个捕获块不再可访问,需要移动到捕获所有捕获块的上方。AmqpExceptionSpring中文文档

RabbitMQ 3.4 兼容性

Spring AMQP 现在与 RabbitMQ 3.4 兼容,包括直接回复。 有关更多信息,请参见兼容性和 RabbitMQ Direct 回复Spring中文文档

ContentTypeDelegatingMessageConverter添加

已引入以选择要使用的,基于 . 有关详细信息,请参阅消息转换器ContentTypeDelegatingMessageConverterMessageConvertercontentTypeMessagePropertiesSpring中文文档