走在前沿
VMware 提供培训和认证,助您快速提升技能。
了解更多尊敬的 Spring 社区:
我很高兴地宣布,Spring Integration 1.2 RC1
的 Java DSL 现已可用。
自之前的 里程碑版本 2 以来,我们收到了许多关于新功能的宝贵反馈,并且一些 API 已经进行了调整以反映实际需求。
像往常一样,非常感谢所有创建问题、提交 Pull Request、提供反馈或在 StackOverflow 上提问的人。
工件 org.springframework.integration:spring-integration-java-dsl:1.2.0.RC1
可以在 里程碑版本仓库 中找到。所以,请尝试使用它,并抓住最后的机会针对任何反馈提交 GH 问题!
现在,关于 1.2 RC1
中的更改
errorChannel
我们现在可以在轮询器定义中指定 errorChannel
。以前我们必须配置整个独立的 MessagePublishingErrorHandler
e -> e.poller(Pollers.fixedDelay(100)
.errorChannel(filePollingErrorChannel())
而不是
@Bean
public ErrorHandler filePollingErrorHandler() {
MessagePublishingErrorHandler errorHandler =
new MessagePublishingErrorHandler();
errorHandler.setDefaultErrorChannel(filePollingErrorChannel());
return errorHandler;
}
...
e -> e.poller(Pollers.fixedDelay(100)
.errorHandler(filePollingErrorHandler())
在 Spring Integration Core 中引入对 MessagePublishingErrorHandler
的 延迟绑定 支持后,使用 MessageChannel
的 bean 名称将更加容易。
Files.splitter()
规范现在提供了更多选项来配置底层的 FileSplitter
.split(Files.splitter()
.markers(false)
.applySequence(true)
.charset("UTF-8"))
手动流程注册过程进行了一些改进
IntegrationFlowContext.registration(IntegrationFlow)
返回一个 IntegrationFlowRegistrationBuilder
,用于在注册 IntegrationFlow
bean 和所有依赖组件期间提供更多选项;
IntegrationFlowRegistration
是 IntegrationFlowRegistrationBuilder.register()
调用的结果。此对象提供了一些有用的 IntegrationFlow
属性,并允许控制与其关联的 IntegrationFlow
的生命周期;
您现在可以添加需要注册的其他 bean,由提供的 IntegrationFlow
要求。例如,DefaultFtpSessionFactory
由 Ftp.outboundAdapter()
要求。它们会与关联的 IntegrationFlow
一起从 ApplicationContext
中销毁和移除。
this.integrationFlowContext.registration(myFlow) .id("myFlow") .autoStartup(false) .addBean(new Foo()) .addBean("bar", new Bar()) .register();
有关更多信息,请参阅 Gary Russell 编写的关于动态 TCP 客户端的精彩 示例。
我们决定放弃对 Apache Kafka 0.8.x
的支持(Spring Integration for Apache Kafka 1.3.x
),转而支持 Apache Kafka 0.9.x
和 0.10.x
。最近引入的 Kafka09
已被删除,其内容已移动到 Kafka
工厂。现在,相关依赖项是基于 Spring for Apache Kafka 1.1.x
的 Spring Integration for Apache Kafka 2.1.x
,以提供 Apache Kafka 0.10.x
。同时,相同的 Kafka
DSL 工厂和依赖组件可以与类路径上的先前 Spring Integration for Apache Kafka 2.0.x
版本一起使用。
可以通过直接使用 Spring Integration for Apache Kafka 1.3.x
适配器来实现 Apache Kafka 0.8.x
的支持。或者,您可以简单地从 Java DSL 1.1
中复制/粘贴 org.springframework.integration.dsl.kafka
包 到您的项目中,并继续从 Kafka
工厂的流畅构建器 API 中获益!
我们预计大约一周后将发布 1.2
版本的正式版。之后,spring-integration-java-dsl
将肯定迁移到 Spring Integration Core 5.0
和 Java 8 代码库。当前的 1.2
版本将继续得到支持,但仅限于错误修复。