领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多我们很高兴地宣布 Spring AMQP 2.0 的第一个里程碑版本现已发布。
有关完整更改列表,请参阅参考手册中的新增内容和发行说明。
以下是此版本的亮点
该框架现在完全基于 Java 8;为方便 Lambda 实现(回调、ReplyingMessageListener
等)提供了多个函数式接口。Java 8 现在是必需的。它也基于Spring Framework 5.0。
该框架使用新的4.0 amqp-client 库。
现在除了现有的 SimpleMessageListenerContainer
之外,还提供了新的 DirectMessageListenerContainer
。新容器实际上具有更简单的架构,并且侦听器直接在 amqp-client 线程上调用(因此名称为 Direct…
)。请参阅选择容器,以帮助您确定哪个容器适合您的应用程序。
还提供了子类 - DirectReplyToMessageLisenerContainer
,专门用于使用 RabbitMQ 的Direct ReplyTo 功能进行请求/回复消息传递。现在,RabbitTemplate
(默认情况下)使用此功能,而不是像以前那样为每个请求/回复创建消费者。消费者被缓存以供重用。
AsyncRabbitTemplate
现在支持 direct replyTo,利用新的容器;以前异步模板不支持 direct replyTo。
@RabbitListener
注解现在可以配置错误处理程序,并且能够在使用请求/回复消息传递时将异常发送给发送方。
连接和通道侦听器现在接收关闭信号。
您现在可以为 Spring AMQP 创建的连接分配名称 - 该名称显示在 RabbitMQ 管理 UI 上。
现在可以使用有限的有状态重试(1 次重新传递尝试)(当入站消息没有消息 ID 时),无需配置 MissingMessageIdAdvice
,该建议已从框架中删除。需要 Spring Retry 1.2 来支持此功能。
由于 log4j 已停止维护,不再提供 log4j 附加程序(log4j2 和 logback 附加程序仍然可用)。
请借此机会测试这些新功能并提供反馈。下一个里程碑版本将在明年年初发布,GA 版本将在第一季度发布。请使用JIRA 对积压问题进行投票,或添加您希望在此主要新版本中看到的新的功能请求。
请参阅项目页面以获取下载和文档链接。
我们还会监控 Stack Overflow 上的spring-amqp 标签以及 Gitter 上的spring-amqp。