Spring AMQP 1.4.5.RELEASE 和 1.5.0.M1 现已发布

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

我们很高兴地宣布,Spring AMQP 的最新维护版本 (1.4.5.RELEASE) 现已发布。此版本仅包含 少量针对 1.4.4 的 bug 修复

此外,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 现在使用熟悉的 QueueExchangeBinding 域对象为该 API 提供一个轻量级封装。

## 结论

新功能详情请参阅 参考手册的“新增内容”部分JIRA 发布说明

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

请参阅 项目页面 获取文档和下载链接。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

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

查看所有