基于您对更多 Spring Integration 示例和更易用结构的强烈要求,我们很高兴做出以下公告
从当前版本的 Spring Integration 开始,示例将不再包含在 Spring Integration 发行版中。相反,我们切换到了一种更简单的协作模型,该模型应该能够促进更好的社区参与和社区贡献。示例现在拥有一个专门的 Git SCM 存储库和一个专门的 JIRA 问题跟踪系统。示例开发也将拥有自己的生命周期,该生命周期不依赖于框架版本的生命周期,尽管出于兼容性原因,存储库仍将标记每个主要版本。对社区的巨大好处是,我们现在可以添加更多示例并立即提供给您,而无需等待框架的发布。拥有一个不与实际框架绑定的 JIRA 也是一个巨大的好处。您现在拥有一个专门的地方来建议示例以及报告现有示例的问题。或者,您也可以通过 JIRA 将示例作为附件提交给我们,如果我们认为您的示例增加了价值,我们将非常乐意将其添加到我们的示例存储库中,并正确地为作者署名。
在哪里获取示例
要监控示例开发并获取有关存储库的更多信息,您可以访问以下 URL:
http://git.springsource.org/spring-integration/samples 。我们还使用 Git SCM 作为示例存储库。有关 Git SCM 的更多信息,请访问其网站:
https://git.js.cn/ 克隆示例存储库。(对于不熟悉 Git 的用户,这在某种程度上等同于签出。)
这是您应该执行的第一步。您必须在您的机器上安装 Git 客户端。许多平台都提供了许多基于 GUI 的产品。简单的 Google 搜索将帮助您找到它们。要从命令行克隆示例存储库
> mkdir spring-integration-samples > cd spring-integration-samples > git clone git://git.springsource.org/spring-integration/samples.git
这就是您需要做的全部操作。现在,您已经克隆了整个示例存储库。由于示例存储库是一个活动存储库,您可能希望定期执行更新以获取新的示例以及对现有示例的更新。要获取更新,请使用 git PULL 命令
> git pull
跟踪示例
如前所述,Spring Integration 示例拥有一个专门的 JIRA 问题跟踪系统。要提交新的示例请求或提交实际示例(作为附件),请访问我们的 JIRA 问题跟踪系统:
https://jira.springframework.org/browse/INTSAMPLES示例结构
示例的结构也发生了变化。随着更多示例的计划,我们意识到有些示例的目标与其他示例不同。虽然它们都具有向您展示如何应用和使用
Spring Integration 框架 的共同目标,但它们也在某些方面有所不同,其中一些示例旨在专注于技术用例,而另一些则专注于业务用例,还有一些示例完全是为了展示可以应用于解决某些场景(技术和业务)的各种技术。示例的分类将使我们能够根据每个示例解决的问题更好地组织它们,同时为您提供一种更简单的方法来查找合适的示例。
目前有 4 个类别。在示例存储库中,每个类别都有自己的目录,该目录以类别名称命名
基本
(samples/basic) 这是一个很好的入门地点。此处的示例在技术上是有动机的,并演示了配置和代码方面的最低限度,以帮助您通过向您介绍 Spring Integration 的基本概念、API 和配置以及企业集成模式 (EIP) 来快速入门。例如;如果您正在寻找有关如何实现和将服务激活器连接到通道或如何将消息网关用于消息交换或如何开始使用 MAIL 或 TCP/UDP 模块等的答案,那么这里将是找到良好示例的正确位置。最重要的是,这是一个很好的入门地点。
中级
(samples/intermediate) 此类别针对已经熟悉 Spring Integration 框架(入门后)但需要在解决更高级的技术问题时获得更多指导的开发人员,这些问题可能是他们在切换到消息传递架构后会遇到的。例如;如果您正在寻找有关如何在各种消息交换场景中处理错误或如何在某些消息可能永远不会到达聚合等情况下正确配置聚合器等的答案,以及任何超出特定组件的基本实现和配置并解决“您还可以使用它做什么”类型的问题,这里将是找到此类示例的正确位置。
高级
(samples/advanced) 此类别针对非常熟悉 Spring Integration 框架但希望通过使用 Spring Integration 公共 API 来扩展它以满足特定自定义需求的开发人员。例如;如果您正在寻找向您展示如何实现自定义通道或使用者(基于事件或基于轮询)的示例,或者您正在尝试确定在为自定义组件实现自定义命名空间时在 Spring Integration Bean 解析器层次结构之上实现自定义 Bean 解析器的最合适方法是什么,这里将是寻找这些示例的正确位置。您还可以在这里找到可以帮助您进行适配器开发的示例。Spring Integration 带有一个广泛的适配器库,允许您将远程系统与 Spring Integration 消息传递框架连接起来。但是,您可能需要与核心框架未提供适配器的系统集成。因此,您必须自己实现。此类别将包含向您展示如何执行此操作的示例。
应用程序
(samples/applications) 此类别针对对消息传递架构、
EIP 和
Spring 和
Spring Integration 框架有良好理解的开发人员和架构师,他们正在寻找解决特定业务问题的示例。换句话说,此类别中示例的重点是业务用例以及如何通过消息传递架构和 Spring Integration 特别是来解决这些用例。例如;如果您有兴趣了解如何通过 Spring Integration 实现和自动化贷款经纪人或旅行社流程,这里将是找到此类示例的正确位置。
Spring Integration 示例也标记了主要版本。因此,要签出特定于 2.0.0.RELEASE 的版本,您需要在克隆存储库后执行以下 Git 命令“git checkout v2.0.0.RELEASE”。
请记住!Spring Integration 是一个社区驱动的框架,因此社区参与非常重要。这包括示例,因此,如果您找不到您正在寻找的内容,请告诉我们。当然,我们也欢迎您的反馈!