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进行请求/回复消息传递时,回复会路由到默认交换机并使用队列名称进行路由。现在可以提供reply-address,其格式为exchange/routingKey,以便使用特定的交换机和路由键进行路由。

##RabbitManagementTemplate

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

##结论

新功能的完整细节可以在参考手册的新增功能部分JIRA 发布说明中找到。

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

查看项目页面以获取文档和下载链接。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部