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)。此外,我们还提供了一个 打印适配器 的早期版本,并且我们还在开发一个使用 Atmosphere 提供 WebSocket 支持的适配器。
如何成为贡献者?
如果您有关于新扩展和/或适配器的想法,请随时提交 JIRA 票证。如果您已经创建了一个扩展模块并且想要贡献代码,请 fork Spring Integration Extensions 存储库,添加您的模块并发出 拉取请求。但是,在我们合并您的代码之前,您必须填写 贡献者许可协议。提交后,我们将与其他社区成员一起审查您的 拉取请求 并将其合并。有关更多详细信息,请仔细查看 Spring Integration Extensions 项目的 贡献者指南。
创建新的 Spring Integration 扩展模块
更流行的扩展类型之一是 Spring Integration 适配器。为了简化为 Spring Integration 编写自定义适配器的过程,我们现在为 SpringSource Tool Suite (STS) 3.0.0 提供了一个 适配器模板。此模板将使贡献者能够非常轻松地快速构建新的适配器,同时仍然确保与核心 Spring Integration 框架中提供的适配器保持一致(包结构、命名约定、命名空间处理程序/解析器等)。
Spring Integration Adapter Template 是 Spring Integration Templates 项目的一部分,它创建了一个功能齐全的 Spring Integration Module,并且该模板将创建以下常用组件
该模板不仅会创建核心 Java 类和一些基本的单元测试,还会提供 XML 命名空间支持,包括 XML 模式和相关的解析器类。即使您创建其他类型的组件,此模板仍然可以为您提供关于如何开发这些组件的宝贵见解。有关使用 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 存储库