遥遥领先
VMware 提供培训和认证,以加速您的进步。
了解更多我们很高兴地宣布 Spring AMQP (1.4.5.RELEASE) 的最新维护版本现已可用。 它只包含 自 1.4.4 以来的一些错误修复。
此外,1.5 版本的第一个里程碑版本 (1.5.0.M1) 也已发布。 发布候选版本将在大约一个月后发布,GA 预计在今年夏天晚些时候发布。
此版本的主要功能如下所示
##类级别的 @RabbitListener
现在可以在类级别定义 @RabbitListener
注解。 结合方法级别的 @RabbitHandler
注解,这允许单个监听器调用类中不同的方法,具体取决于有效负载类型。 例如
@RabbitListener(queues="orders, shipments")
public class MultiListenerBean {
@RabbitHandler
public OrderConfirmation handleOrder(Order order) {
...
}
@RabbitHandler
public Invoice ship(Shipment shipment) {
...
}
}
##自动声明 @RabbitListener
的队列和绑定
现在可以在使用 @RabbitListener
注解时自动声明队列、交换和绑定。
@RabbitListener(bindings = @QueueBinding(
value = @Queue(value = "auto.declare", autoDelete = "true"),
exchange = @Exchange(value = "auto.exch", autoDelete = "true"),
key = "auto.rk"))
public String handleWithDeclare(String foo) {
return foo.toUpperCase();
}
在此示例中,队列 auto.declare
被声明并绑定到交换 auto.exch
,路由键为 auto.rk
。 交换也被声明。
以前,Queue
、Exchange
和 Binding
必须声明为单独的 @Bean
。
##可配置的交换/路由键用于回复
以前,在使用带有 RabbitTemplate
的请求/回复消息传递时,回复被路由到默认交换并使用队列名称进行路由。 现在可以提供形式为 exchange/routingKey
的 reply-address
,以使用特定的交换和路由键进行路由。
##RabbitManagementTemplate
不再提供 spring-erlang
jar。 鼓励用户改为使用 RabbitMQ REST API。 RabbitMQ 团队正在开发 REST API 的 Java 绑定,而 Spring AMQP 现在使用熟悉的 Queue
、Exchange
和 Binding
域对象为该 API 提供了一个轻量级包装器。
##结论
有关新功能的完整详细信息,请参阅参考手册的“新增功能”部分和JIRA 发布说明。
鼓励用户在 GA 版本之前尝试新功能,并使用常规渠道(Stack Overflow 上的 spring-amqp
标签和 JIRA)提供反馈。
有关文档和下载的链接,请参阅项目页面。