领先一步
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,利用了新的容器;以前 async template 不支持 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。