Spring Integration 1.2 版本候选发布版 1 的 Java DSL 现已可用

发布 | Artem Bilan | 2016年9月27日 | ...

尊敬的 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 名称将更加容易。

FileSplitter 改进

Files.splitter() 规范现在提供了更多选项来配置底层的 FileSplitter

.split(Files.splitter()
    .markers(false)
    .applySequence(true)
    .charset("UTF-8"))

IntegrationFlowRegistration

手动流程注册过程进行了一些改进

  • IntegrationFlowContext.registration(IntegrationFlow) 返回一个 IntegrationFlowRegistrationBuilder,用于在注册 IntegrationFlow bean 和所有依赖组件期间提供更多选项;

  • IntegrationFlowRegistrationIntegrationFlowRegistrationBuilder.register() 调用的结果。此对象提供了一些有用的 IntegrationFlow 属性,并允许控制与其关联的 IntegrationFlow 的生命周期;

  • 您现在可以添加需要注册的其他 bean,由提供的 IntegrationFlow 要求。例如,DefaultFtpSessionFactoryFtp.outboundAdapter() 要求。它们会与关联的 IntegrationFlow 一起从 ApplicationContext 中销毁和移除。

    this.integrationFlowContext.registration(myFlow) .id("myFlow") .autoStartup(false) .addBean(new Foo()) .addBean("bar", new Bar()) .register();

有关更多信息,请参阅 Gary Russell 编写的关于动态 TCP 客户端的精彩 示例

Apache Kafka 支持

我们决定放弃对 Apache Kafka 0.8.x 的支持(Spring Integration for Apache Kafka 1.3.x),转而支持 Apache Kafka 0.9.x0.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 版本将继续得到支持,但仅限于错误修复。

项目页面 | 文档 | 问题 | 帮助

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

走在前沿

VMware 提供培训和认证,助您快速提升技能。

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

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

查看全部