新的 Spring Integration 示例

工程 | Oleg Zhurakousky | 2010 年 9 月 29 日 | ...

基于大家对更多 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-scm.cn/

克隆示例仓库。(对于不熟悉 Git 的人来说,这有点类似于 checkout。)

这是您应该完成的第一步。您的机器上必须安装 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 个类别。在示例仓库中,每个类别都有自己的目录,目录名称与其类别名称相同

BASIC(基础)
(samples/basic) 这是个入门的好地方。这里的示例都是技术驱动的,展示了配置和代码方面的最低要求,通过介绍 Spring Integration 的基本概念、API 和配置以及企业集成模式 (EIP),帮助您快速入门。例如,如果您正在寻找如何实现 Service Activator 并将其连接到 Channel,或者如何使用 Messaging Gateway 进行消息交换,或者如何开始使用 MAIL 或 TCP/UDP 模块等问题的答案,这里将是找到好示例的正确地方。总而言之,这里是个入门的好地方。
INTERMEDIATE(中级)
(samples/intermediate) 此类别面向已熟悉 Spring Integration 框架(已入门)但需要更多指导来解决更高级技术问题的开发人员,这些问题是在他们转向消息架构后可能遇到的。例如,如果您正在寻找如何在各种消息交换场景中处理错误、如何在某些消息可能永远不会到达进行聚合的情况下正确配置 Aggregator 等问题的答案,以及任何超出特定组件基本实现和配置范围并解决“还能用它做什么”类型问题的示例,这里将是找到此类示例的正确地方。
ADVANCED(高级)
(samples/advanced) 此类别面向非常熟悉 Spring Integration 框架但希望通过使用 Spring Integration 公共 API 扩展其功能以满足特定自定义需求的开发人员。例如,如果您正在寻找展示如何实现自定义 Channel 或 Consumer(基于事件或基于轮询)的示例,或者您正在尝试弄清楚在为自定义组件实现自定义命名空间时,如何在 Spring Integration Bean 解析器层次结构之上实现自定义 Bean 解析器的最合适方法,这里将是您查找的正确地方。在这里,您还可以找到有助于适配器开发的示例。Spring Integration 提供了一个丰富的适配器库,允许您将远程系统与 Spring Integration 消息传递框架连接起来。但是,您可能需要与核心框架未提供适配器的系统集成。因此您必须实现自己的适配器。此类别将包含向您展示如何实现此功能的示例。
APPLICATIONS(应用)
(samples/applications) 此类别面向对消息架构、EIP 以及对 SpringSpring Integration 框架有高于平均水平理解的开发人员和架构师,他们正在寻找解决特定业务问题的示例。换句话说,此类别示例的重点是业务用例,以及如何通过消息架构特别是 Spring Integration 来解决这些问题。例如,如果您有兴趣了解如何通过 Spring Integration 实现和自动化贷款经纪人或旅行代理流程,这里将是找到此类示例的正确地方。
Spring Integration 示例也用主要版本打了标签。因此,要检出特定于 2.0.0.RELEASE 的版本,您只需在克隆仓库后执行以下 Git 命令:"git checkout v2.0.0.RELEASE"。
请记住!Spring Integration 是一个社区驱动的框架,因此社区参与至关重要。这也包括示例,所以如果您找不到您想要的内容,请告诉我们。当然,随时欢迎反馈!

获取 Spring 通讯

通过 Spring 通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获取支持

Tanzu Spring 在一份简单的订阅中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举办的活动

查看 Spring 社区中即将举办的所有活动。

查看全部