遥遥领先
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)提供反馈。
有关文档和下载的链接,请参阅项目页面。