领先一步
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 已达到 EOL,因此不再提供 log4j appender(log4j2 和 logback appender 仍然可用)。
请借此机会测试这些新功能并提供反馈。 下一个里程碑版本将在明年初发布,GA 版本将在第一季度发布。 请使用 JIRA 为积压问题投票,或添加您希望在此主要新版本中看到的新功能请求。
有关下载和文档链接,请参见项目页面。
我们在 Stack Overflow 上监控 spring-amqp 标签以及 Gitter 上 spring-amqp。