抢占先机
VMware 提供培训和认证,以加速您的进步。
了解更多我谨代表 Spring Integration 团队宣布 Spring Integration 5.0 版本(5.0.0.M6
)的里程碑版本 6 现已发布。
可以从里程碑版本库下载
repositories {
maven { url 'http://repo.spring.io/libs-milestone' }
}
compile "org.springframework.integration:spring-integration-core:5.0.0.M6"
此次发布包含了19 个 JIRA(以及一些 GitHub 问题),包括错误修复和许多新功能。 自先前宣布的里程碑版本 5以来,M6
中的一些功能亮点
@Bean public IntegrationFlow sseFlow() { return IntegrationFlows .from(Http.inboundReactiveGateway("/sse") .requestMapping(m -> m.produces(MediaType.TEXT_EVENT_STREAM_VALUE))) .handle((p, h) -> Flux.just("foo", "bar", "baz")) .get(); }
此示例演示了如何使用 Spring Integration Channel Adapter 配置服务器发送事件,该适配器完全基于 WebFlux
基础,并按需执行集成流,采用背压方式。
IntegrationFlow
现在可以从任何接口启动,即使没有 @MessagingGateway
注释。 该注释通过 AnnotationGatewayProxyFactoryBean
在后台使用默认属性合成。 这种技巧为我们打开了从 java.util.function
接口 - Function
,Consumer
和 Supplier
启动 IntegrationFlow
的可能性。 反过来,这给了我们一种有趣的方法,我们可以使用新的 Spring Cloud Function 项目将 IntegrationFlow
公开为 Function@Bean public IntegrationFlow uppercase(MongoOperations mongoOperations) { return IntegrationFlows.from(Function.class) .handle(MongoDb.outboundGateway(mongoOperations) .queryFunction(msg -> Query.query(Criteria.where("name") .is(msg.getPayload()))) .collectionNameExpression("headers.collection") .expectSingleResult(true) .entityClass(Person.class)) .get(); }
现在可以使用新的 JdbcMetadataStore
。 此实现是真正的基于事务的,如果在 (S)FTP 轮询之后的后续流程导致某些错误,则由于事务回滚,不会在数据库中存储任何条目。
(S)FTP 入站 Channel Adapters 的 preserveTimestamp
算法已修复,如果由于本地临时副本无法重命名为原始文件(因为最后一个文件正忙于另一个进程)而抛出异常。
特别感谢几位社区成员对该框架的持续积极贡献; 扫描 提交 并给他们一些赞誉!
有关 5.0
中更改的完整列表,另请参阅参考手册中的新增功能章节。
我们仍然希望将一些功能(响应式和测试)包含在当前版本中,请继续关注下一个里程碑! 我们预计 RC 和后续 GA 将在 10 月底,11 月初的某个时间发布 - 就在 Spring Boot 2.0 GA
之前!
欢迎通过适当的沟通渠道提供任何反馈、功能想法、批评、错误报告和问题