遥遥领先
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 上参加我的 演讲。 另外感谢大家提供的反馈。
感谢这些反馈,我们能够在 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
定义,从 FeedEntryMessageSource
的 inbound-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);
}
}
FeedEntryMessageSourceSpec
是 MessageSourceSpec
的一个实现,用于在 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
标签)