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 上我关于 Spring Integration Java DSL 的演讲 的所有人。还要感谢大家提供的宝贵反馈。

感谢大家的反馈,我们能够在 GA 版本和之前的 里程碑版本 之间添加了一些小的修复。

正如我在演讲中承诺的那样,我们为 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();
}
  • 这是一个从 FeedEntryMessageSourceinbound-channel-adapter 开始的 IntegrationFlow 定义。
  • .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 提供了构建器模式实现。

Spring Integration Java DSL 中的所有其他组件都是以相同的方式构建的,我希望它足够简单,以便社区能够做出更多贡献,以解决您在框架中对特定适配器的支持。

请继续关注,我们将继续以 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 社区中所有即将举行的活动。

查看全部