领先一步
VMware 提供培训和认证,助您快速提升技能。
了解更多亲爱的 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();
}
FeedEntryMessageSource
的 inbound-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);
}
}
FeedEntryMessageSourceSpec
是 MessageSourceSpec
的实现,它围绕 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
标签)