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