|
对于最新稳定版本,请使用Spring AMQP 4.0.0! |
1.4版本自1.3版本以来的变化
@RabbitListener注解
POJO 的监听者可以被注释为@RabbitListener,由@EnableRabbit或<rabbit:注释驱动 />. 此功能需要 Spring Framework 4.1。更多信息请参见注释驱动监听器端点。
兔子消息模板添加
一个新的兔子消息模板让你通过以下方式与RabbitMQ交互春季消息 消息实例。 内部,它使用兔子模板你可以正常配置。此功能需要 Spring Framework 4.1。更多信息请参见消息集成。
监听器容器缺失队列致命属性
1.3.5 引入了缺失队列致命属性SimpleMessageListenerContainer. 该功能现已可在监听器容器命名空间元素中获得。参见消息监听器容器配置。
兔子模板确认回电接口
这确认该接口上的方法有一个额外的参数,称为原因. 在可用时,该参数包含负面确认(nack)的原因。参见相关出版商确认和返回。
兔子连接工厂豆添加
兔子连接工厂豆创建底层的RabbitMQ连接工厂被以下机构使用缓存连接工厂. 这使得利用 Spring 的依赖注入来配置 SSL 选项。参见配置底层客户端连接工厂。
用缓存连接工厂
这缓存连接工厂现在设连接超时可以作为命名空间中的属性或属性来设置。它在底层的RabbitMQ上设置了该属性连接工厂. 参见配置底层客户端连接工厂。
日志附录
日志回溯org.springframework.amqp.rabbit.logback.AmqpAppender已被引入。它提供了类似的选项org.springframework.amqp.rabbit.log4j.AmqpAppender. 更多信息请参见这些课程的JavaDoc。
The Log4jAmqpAppender现在支持传递模式性质 (持续或NON_PERSISTENT违约:持续). 之前,所有log4j消息都是持续.
附加词还支持修改消息发送前——例如允许添加自定义头部。子类应覆盖postProcessMessageBeforeSend().
监听队列
监听器容器默认在启动时重新声明任何缺失的队列。一个新的自动宣告属性已被添加到<rabbit:listener-container>以防止这些重新声明。 看自动删除队列.
兔子模板:命令的和连接工厂选择器表达 式
这强制表达,sendConnectionFactorySelectorExpression和接收连接工厂选择器表达式SpEL表达式属性已被添加到兔子模板. 这强制表达用于评估一个命令的当回调正在使用中。参见相关出版商确认与回报。 这sendConnectionFactorySelectorExpression和接收连接工厂选择器表达式当摘要:RoutingConnectionFactory提供 ,用于确定lookupKey对于目标连接工厂运行时对每个AMQP协议交互作进行。参见路由连接工厂。
监听器与路由连接工厂
你可以配置一个SimpleMessageListenerContainer通过路由连接工厂实现基于队列名称的连接选择。参见路由连接工厂。
兔子模板:恢复回调选择
这恢复回调已添加用于retryTemplate.execute(). 参见添加重试功能。
MessageConversionException改变
该例外现在是 的一个子类Amqp例外. 请考虑以下代码:
try {
template.convertAndSend("thing1", "thing2", "cat");
}
catch (AmqpException e) {
...
}
catch (MessageConversionException e) {
...
}
第二个接水块已无法触及,需移至接水区上方Amqp例外接住阻挡。
RabbitMQ 3.4 兼容性
Spring AMQP 现已兼容 RabbitMQ 3.4,包括直接回复功能。更多信息请参见兼容性和 RabbitMQ 直接回复。
内容类型委托消息转换器添加
这内容类型委托消息转换器被引入以选择消息转换器根据内容类型财产在消息属性. 更多信息请参见消息转换器。