Spring Integration 1.1 GA 的 Java DSL 已发布

工程 | Artem Bilan | 2015 年 9 月 22 日 | ...

亲爱的 Spring 社区!

我很高兴代表 Spring Integration 团队宣布 Spring Integration Java DSL 的 1.1 GA 版本现已从 发布存储库Maven Central 提供

对于 Gradle,请使用此依赖项

'org.springframework.integration:spring-integration-java-dsl:1.1.0.RELEASE'

对于 Maven,请使用此依赖项

<dependency>
     <groupId>org.springframework.integration</groupId>
     <artifactId>spring-integration-java-dsl</artifactId>
     <version>1.1.0.RELEASE</version>
</dependency>

首先,非常感谢大家上周在 SpringOne 2GX 2015 上参加我的 演讲。 另外感谢大家提供的反馈。

感谢这些反馈,我们能够在 GA 和之前的 Milestone 之间添加一些小修复。

正如我在演讲中承诺的那样,我们为 Spring Integration Core 模块中的简单适配器添加了 DSL 定义。

让我再次在这里演示它,并解释该解决方案基于什么,以便为未来的贡献者分享一些钩子

@Bean
public IntegrationFlow feedFlow() {
return IntegrationFlows
              .from(s -> s.feed(this.feedUrl, "feedTest")
                                    .feedFetcher(new FileUrlFeedFetcher())
                                    .metadataStore(metadataStore()),
                             e -> e.poller(p -> p.fixedDelay(100)))
              .channel(c -> c.queue("entries"))
              .get();
}
  • 它是一个 IntegrationFlow 定义,从 FeedEntryMessageSourceinbound-channel-adapter 开始。
  • .from() 方法的第一个 Lambda 是一个 MessageSources 工厂,它只是委托给目标命名空间工厂
public FeedEntryMessageSourceSpec feed(URL feedUrl, String metadataKey) {
	return Feed.inboundAdapter(feedUrl, metadataKey);
}

它的存在是为了方便 - 从 IDE 自动完成功能中获得收益。

  • 在这种情况下,我们委托给 org.springframework.integration.dsl.feed.Feed 命名空间工厂,它的源代码非常短
public abstract class Feed {

	public static FeedEntryMessageSourceSpec inboundAdapter(URL feedUrl, 
                                      String metadataKey) {
		return new FeedEntryMessageSourceSpec(feedUrl, metadataKey);
	}

}
  • FeedEntryMessageSourceSpecMessageSourceSpec 的一个实现,用于在 FeedEntryMessageSource 周围实现 Builder 模式。

Spring Integration Java DSL 中的所有其他组件都以相同的方式构建,我希望它看起来足够简单,可以从社区获得越来越多的贡献,以解决您在 Framework 中对特定适配器的支持。

请继续关注,因为我们将继续进行 Spring Framework 5 的基础,以及与 Java 8 更加有机的集成。

项目页面 | JIRA | 问题 | [贡献] (https://github.com/spring-projects/spring-integration/blob/master/CONTRIBUTING.md) | StackOverflow (spring-integration 标签)

获取 Spring 新闻简报

与 Spring 新闻简报保持联系

订阅

遥遥领先

VMware 提供培训和认证,以加速您的进步。

了解更多

获取支持

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

了解更多

即将到来的活动

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

查看全部