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 适配器(包括支持XPath 2.0)和SMB 适配器。未来几周将添加几个与 Amazon Web Services (AWS) 相关的适配器(Amazon S3、Amazon SNS、Amazon SQS)。此外,我们还提供了Print 适配器的早期版本,并且我们也在开发一个使用 Atmosphere 提供WebSocket 支持的适配器。
如何成为贡献者?
如果您对新的扩展和/或适配器有想法,请随时提交 JIRA 票。如果您已经创建了一个扩展模块并希望贡献代码,请 Fork Spring Integration Extensions 仓库,添加您的模块并提交拉取请求 (pull request)。但在我们合并您的代码之前,您必须填写贡献者许可协议。提交后,我们和/或其他社区成员将审查您的拉取请求并合并它。欲了解更详细的信息,请仔细阅读 Spring Integration Extensions 项目的贡献者指南。
创建新的 Spring Integration 扩展模块
Spring Integration 适配器是更受欢迎的扩展类型之一。为了简化为 Spring Integration 编写自定义适配器的过程,我们现在为 SpringSource Tool Suite (STS) 3.0.0 提供了一个适配器模板。这个模板将使贡献者非常容易快速构建新的适配器,同时仍然确保与核心 Spring Integration 框架中提供的适配器保持一致(包结构、命名约定、命名空间处理器/解析器等)。
Spring Integration 适配器模板是 Spring Integration Templates 项目的一部分,它会创建一个功能齐全的Spring Integration 模块,并且该模板将创建以下常用组件:
该模板不仅会创建核心 Java 类和一些基本单元测试,还会提供 XML Namespace 支持,包括 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 仓库列表: