Spring AMQP 1.4.5.RELEASE 和 1.5.0.M1 可用

发布 | Gary Russell | 2015 年 5 月 8 日 | ...

我们很高兴地宣布 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。 交换也被声明。

以前,QueueExchangeBinding 必须声明为单独的 @Bean

##可配置的交换/路由键用于回复

以前,在使用带有 RabbitTemplate 的请求/回复消息传递时,回复被路由到默认交换并使用队列名称进行路由。 现在可以提供形式为 exchange/routingKeyreply-address,以使用特定的交换和路由键进行路由。

##RabbitManagementTemplate

不再提供 spring-erlang jar。 鼓励用户改为使用 RabbitMQ REST API。 RabbitMQ 团队正在开发 REST API 的 Java 绑定,而 Spring AMQP 现在使用熟悉的 QueueExchangeBinding 域对象为该 API 提供了一个轻量级包装器。

##结论

有关新功能的完整详细信息,请参阅参考手册的“新增功能”部分JIRA 发布说明

鼓励用户在 GA 版本之前尝试新功能,并使用常规渠道(Stack Overflow 上的 spring-amqp 标签和 JIRA)提供反馈。

有关文档和下载的链接,请参阅项目页面

获取 Spring 新闻通讯

订阅 Spring 新闻通讯,保持联系

订阅

遥遥领先

VMware 提供培训和认证,以加速您的进步。

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部