领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多我代表 Spring Integration 团队很高兴地宣布,Spring Integration 5.0 版本的发布候选版本 1(5.0.0.RC1
)现已推出。
您可以从 里程碑存储库 下载它
repositories {
maven { url 'http://repo.spring.io/libs-milestone' }
}
compile "org.springframework.integration:spring-integration-core:5.0.0.RC1"
20 个 JIRA(以及一些 GitHub 问题)包含在此版本中,以及错误修复和许多新功能。自之前宣布的 里程碑 7 以来,RC1
中的一些功能亮点如下所示。
由 Java DSL 解析器填充的组件现在在应用程序上下文中注册为 BeanDefinitions
,这要归功于 Spring Framework 5.0
中新引入的基于 Supplier
的程序化 Bean 注册。这种方法帮助我们避免了单例注册和初始化的一些样板代码。此外,此 BeanDefinition
注册在某些用例中可能有助于在应用程序上下文中选择特定组件。实际上,Spring Cloud Function 项目中正是使用了这一点来扫描 java.util.function.*
Bean。
IntegrationFlows.from(Class<?> serviceInterface)
现在具有一个带附加 beanName
参数的重载版本。这将准确地成为生成网关代理的 Bean 名称,覆盖 [flowId].gateway
值
@Bean public IntegrationFlow uppercaseFlow() { return IntegrationFlows.from(MessageFunction.class, "uppercase") .<String, String>transform(String::toUpperCase) .get(); }
这在上面提到的 Spring Cloud Function 中再次很有用,当我们将函数作为其 Bean 名称的微服务入口点公开时。这在通过 IntegrationFlowContext
手动注册集成流时也很方便,当我们为 IntegrationFlow
有“丑陋的”生成的 Bean 名称时。
HTTP 入站端点(包括 WebFlux)现在可以正确处理回复消息中的 ResponseEntity
@Bean public WebFluxInboundEndpoint errorInboundEndpoint() { WebFluxInboundEndpoint endpoint = new WebFluxInboundEndpoint(); RequestMapping requestMapping = new RequestMapping(); requestMapping.setPathPatterns("/error"); endpoint.setRequestMapping(requestMapping); endpoint.setRequestChannelName("errorServiceChannel"); return endpoint; }
@ServiceActivator(inputChannel = "errorServiceChannel") public ResponseEntity
这样,我们就将 Spring Integration 通道适配器与 Web 与 Spring MVC 和 Spring WebFlux 中的现有行为保持一致。
除了升级到最新的 Spring Web Services 3.0
和 Smack 4.2.1
之外,我们还修复了 Spring Integration Web Services 网关中 DOM POX 消息的处理。
一些 Leader Initiator 现在可能会在无法获取共享资源的锁时发出 OnFailedToAcquireMutexEvents
。这种情况经常发生,因此请查看 LockRegistryLeaderInitiator#setPublishFailedEvents()
以获取更多信息。
JdbcChannelMessageStore
现在可以提供自定义 MessageGroupPreparedStatementSetter
,用于某些非标准的消息存储结构或与默认 Java 序列化行为不同的结构。
已引入 ClientStompEncoder
以在从客户端使用 StompSubProtocolHandler
时正确填充 SEND
STOMP 帧。
特别感谢几位社区成员对框架做出的持续积极贡献;扫描 提交 并为他们点赞!
有关 5.0
中更改的完整列表,还可以参阅参考手册中的 新增功能 章节。
我们预计几周后将发布 GA 版本——正好赶上 Spring Boot 2.0 GA
!
重要
我和 Spring 团队的大多数同事将在 Spring One Platform 上讨论 Spring Integration 中的这些新功能。所以现在就报名吧!
欢迎通过适当的沟通渠道提供任何反馈、功能构想、批评、错误报告和问题