Spring Integration 5.0 里程碑 3 现已发布

发布 | Artem Bilan | 2017年04月05日 | ...

Spring Integration 团队很高兴地宣布,Spring Integration 5.0 的第三个里程碑版本 (5.0.0.M3) 现已发布。

此版本共包含 53 个 JIRA 问题(以及一些 GitHub 问题)的修复,包括 Bug 修复和若干新功能。以下是自上一个 里程碑 2 发布以来的一些亮点:

  • 为 Spring Integration 测试框架提供了初始实现——`@SpringIntegrationTest` 注解用于测试类,`MockIntegration` 工厂可帮助您为集成流和通道适配器编写单元测试。我们计划在 GA 版本发布前,通过更多功能充实此能力,包括更多的 Mock、验证以及一些 `send-and-receive` 工具,以隔离测试组件。欢迎提供反馈!

  • POJO 处理方法调用(`@ServiceActivator`、`@Transformer` 等,或通过 XML 定义调用的此类方法)现在默认使用 `InvocableHandlerMethod`。结合 `ConfigurableCompositeMessageConverter` 和 `@Default` 工具,这使得我们能够基于 Content-Type 和目标方法参数解析来实现条件方法调用场景。为了恢复之前的 SpEL 调用行为,提供了 `@UseSpelInvoker` 方法级注解。

  • 提供了一个基于 WebFlux `WebClient` 的 `ReactiveHttpRequestExecutingMessageHandler` 实现。结合 `ReactiveChannel` 作为 `outputChannel` 选项,它为远程 HTTP 服务消费提供了背压机制。

  • (S)FTP(以及 AWS S3)入站通道适配器现在可以本地恢复文件树。为此,引入了一个新的、基于 `Files.walk()` 的 `RecursiveDirectoryScanner`。还提供了 `useWatchService` 选项。

  • Web 服务网关现在可以直接交换 `WebServiceMessage` 作为入站/出站 `payload`。这使得通过直接访问 `WebServiceMessage` 属性来支持 MTOM。`UnmarshallingTransformer` 现在可以处理 `MimeMessage` 作为 payload,并将其反序列化为带有附件的对象图。

  • 如果请求消息头中没有 `outputChannel` 或 `replyChannel`,那么生成回复的 `MessageHandler` 现在会回退到回复消息的 `replyChannel` 头。这允许实现类似业务流程的场景,其中下一步由当前计算结果决定。

我们要感谢几位社区成员对框架持续的积极贡献;请 查看提交记录,并为他们点赞!

我们正朝着 M4 版本努力,以赶上 Spring Boot 2.0 的里程碑发布;GA 版本预计在初夏发布;紧随 Spring Framework 5.0 版本之后。

有关 `5.0` 版本完整变更列表,请参阅参考手册的 新增功能章节。

项目主页 | JIRA | 贡献指南 | 帮助 | 交流

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看所有