Spring Integration 团队自豪地宣布《Spring Integration 扩展》存储库现已可用。这个新的基于GitHub存储库的主要目标是促进适配器和扩展开发者的活跃社区,并鼓励更广泛的社区成员为该项目做出贡献。Spring Integration 扩展项目托管在:
这个新的存储库将使我们能够更快速地整合新的贡献,而无需经过核心 Spring Integration 框架更严格的审查流程。由于每个社区贡献的扩展都是Spring Integration 扩展存储库中的一个单独项目,因此它将拥有独立于核心 Spring Integration 框架的发布生命周期。因此,这将允许更频繁的发布。
随着时间的推移,我们预计一些较少使用的 Spring Integration 模块可能会转移到扩展存储库中。另一方面,对于某些扩展模块,Spring Integration 扩展项目也可以作为孵化器,最终它们可能会被整合到核心 Spring Integration 框架中。
由于几个社区的贡献,新的存储库已经提供了几个适配器,例如XQuery 适配器(包括对XPath 2.0的支持)和SMB 适配器。未来几周将添加一些围绕Amazon Web Services (AWS) 的适配器(Amazon S3,Amazon SNS,Amazon SQS)。此外,我们还提供了一个打印适配器的早期版本,并且我们还在开发一个使用Atmosphere提供WebSocket支持的适配器。
如何成为贡献者?
如果您对新的扩展和/或适配器有任何想法,请随时提交JIRA工单。如果您已经创建了一个扩展模块并且想贡献代码,请为Spring Integration 扩展存储库创建分支,添加您的模块并发出拉取请求。但是,在我们合并您的代码之前,您必须填写贡献者许可协议。提交后,我们和/或其他社区成员将审查您的拉取请求并将其合并。有关更详细的信息,请仔细查看 Spring Integration 扩展项目的贡献者指南。
创建新的 Spring Integration 扩展模块
一些较流行的扩展类型是 Spring Integration 适配器。为了简化为Spring Integration编写自定义适配器的过程,我们现在为SpringSource Tool Suite (STS) 3.0.0 提供了一个适配器模板。此模板将使贡献者能够快速轻松地构建新的适配器,同时仍确保与核心 Spring Integration 框架中提供的适配器保持一致(包结构、命名约定、命名空间处理程序/解析器等)。
作为Spring Integration 模板项目的一部分,Spring Integration 适配器模板创建一个功能齐全的Spring Integration 模块,并且该模板将创建以下常用组件:
该模板不仅会创建核心 Java 类和一些基本的单元测试,还会提供 XML 命名空间支持,其中包括 XML 架构和相关的解析器类。即使您创建其他类型的组件,此模板仍然可以为您提供有关如何开发这些组件的有价值的见解。有关在 Spring Integration 中使用 STS 模板的更多信息,请参阅以下博客文章:
创建的适配器项目将使用Gradle作为其构建工具,并且它与为Spring Integration定义的构建任务紧密相关。
构建适配器项目
$ ./gradlew build
将适配器项目安装到本地 Maven 存储库
$ ./gradlew install
生成 JavaDoc
$ ./gradlew api
$ ./gradlew sonar
构建完整的发行版
$ ./gradlew dist
有关更多信息,请参阅 Spring Integration 扩展 Wiki 上的如何创建新的组件。
更多资源
Spring Integration GitHub 存储库
为了完整起见,以下是所有与 Spring Integration 相关的 GitHub 存储库的列表: