领先一步
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
进行请求/回复消息传递时,回复会路由到默认交换机并使用队列名称进行路由。现在可以提供reply-address
,其格式为exchange/routingKey
,以便使用特定的交换机和路由键进行路由。
##RabbitManagementTemplate
不再提供spring-erlang
jar 包。鼓励用户改用 RabbitMQ REST API。RabbitMQ 团队正在开发 REST API 的 Java 绑定,Spring AMQP 现在为此 API 提供了一个轻量级的包装器,使用熟悉的Queue
、Exchange
和Binding
领域对象。
##结论
新功能的完整细节可以在参考手册的新增功能部分和JIRA 发布说明中找到。
鼓励用户在 GA 版本发布之前尝试新功能,并通过常规渠道(Stack Overflow 上的spring-amqp
标签和 JIRA)提供反馈。
查看项目页面以获取文档和下载链接。