Spring Integration 1.2 版本的 Java DSL 已发布

发布 | Artem Bilan | 2016年10月14日 | ...

尊敬的 Spring 社区:

我很高兴地宣布,Spring Integration 的 Java DSL `1.2 GA` 版本现已发布。

工件 `org.springframework.integration:spring-integration-java-dsl:1.2.0.RELEASE` 可在 Release 仓库Maven Central 获取。

自从之前的 Release Candidate 1 发布以来,我们收到了很多反馈,并添加了以下功能:

线程屏障支持

新的 `.barrier()` 方法及其镜像方法 `.trigger()` 已添加到 `IntegrationFlow` 定义中。

private static final String BARRIER = "barrier";

@Bean
public IntegrationFlow barrierFlow() {
    return f -> f
        .barrier(10000, b -> b
                .correlationStrategy(
                         new HeaderAttributeCorrelationStrategy(BARRIER))
                 .outputProcessor(g ->
                         g.getMessages()
                                 .stream()
                                 .skip(1)
                                 .findFirst()
                                 .get()))
         .channel(c -> c.queue("barrierResults"));
}

@Bean
public IntegrationFlow releaseBarrierFlow(
                          MessageTriggerAction barrierTriggerAction) {
    return IntegrationFlows.from((Channels c) -> c.queue("releaseChannel"))
        .trigger(barrierTriggerAction,
            e -> e.poller(p -> p.fixedDelay(100)))
        .get();
}

轮询 `errorChannel`

升级到 Spring Integration `4.3.4` 后,添加了更方便的 `PollerSpec.errorChannel(String)` 方法。现在,我们只需在轮询定义中指定 `errorChannel` 的 bean 名称,它会在发送第一个 `ErrorMessage` 时解析。

文件分割器改进

`SplitterEndpointSpec` 现在提供了一个 `delimiters()` 选项,它映射到 `DefaultMessageSplitter.setDelimiters()`。

您可以在发布之前里程碑版本的博客文章中找到 1.2 版本中引入的所有功能。

后续步骤

Spring Integration Java DSL 项目正在迁移到 Spring Integration Core `5.0` 和 Java 8 代码库。`1.2.x` 版本将继续提供错误修复支持。

非常感谢社区的所有成员提供的反馈。没有你们的帮助,我们就无法拥有如此出色的产品!

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

获取 Spring 电子邮件简讯

关注 Spring 电子邮件简讯

订阅

领先一步

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

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部