本指南将引导您完成 Spring Cloud Task 的概述以及创建和启动短期应用程序的过程。
从 Spring 初始化开始
你可以使用这个预初始化项目,然后单击生成以下载 ZIP 文件。此项目配置为适合本教程中的示例。
手动初始化项目:
- 导航到https://start.spring.io.此服务拉入应用程序所需的所有依赖项,并为您完成大部分设置。
- 选择 Gradle 或 Maven 以及您要使用的语言。本指南假定您选择了 Java。
- 单击依赖关系,然后选择任务、H2 数据库、JDBC API 和 MariaDB 驱动程序。
- 单击生成。
- 下载生成的 ZIP 文件,该文件是使用您的选择配置的任务应用程序的存档。
注意 |
如果您的 IDE 集成了 Spring Initializr,则可以从 IDE 完成此过程。 |
注意 |
您也可以从 Github 分叉项目,然后在 IDE 或其他编辑器中打开它。 |
什么是春云任务?
Spring Cloud Task 是一个框架,用于构建短期的 Spring Boot 微服务,例如批处理数据处理作业。您可以从项目现场,文档和样品.
任务应用程序概述
在本指南中,我们开发了一个使用 Spring Cloud Task 的 Spring Boot 应用程序,并将其部署到您的本地计算机。我们使用 H2 数据库来初步演示 Spring Cloud Task 的功能,但 Spring Cloud Task 的价值在于它能够将已执行任务的结果存储在持久数据存储中。对于此示例,我们将使用 MariaDB 作为我们的持久数据存储。
使用内存 H2 的春季云任务
第一步,我们将Spring Cloud Task与嵌入式H2数据存储一起使用。如果在项目初始化时未检测到任何属性,Spring Cloud Task 会启动一个新的 H2 实例来存储执行的任务结果。这在没有任何额外配置的情况下发生。这有助于快速启动和运行,但是当应用程序完成并且 H2 数据库关闭时,已执行任务的结果将丢失。对于指南中的此步骤,请确保注释掉 in 的属性。spring.datasource
spring.datasource
application.properites
使用持久 MariaDB 的春季云任务
要持久保存比短期任务生存期更长的数据,我们需要一个外部可用的数据存储。在本指南中,我们使用在 Docker 容器中运行的 MariaDB 实例。
注意 |
要遵循本指南,您需要在本地运行 Docker。 |
要在本地运行 MariaDB,请运行以下命令:
当 MariaDB 实例运行时,通过以下方式向应用程序提供配置:application.properties
再次运行应用程序现在应该将任务执行的结果存储在 MariaDB 实例中。您可以通过将 shell 放入 Docker 容器来验证这一点:
然后运行命令
您应该能够看到在 MariaDB 实例运行时执行的所有程序运行。
总结
祝贺!您已经完成了 Spring Cloud Task 的高级概述,并且能够构建、测试和启动 Spring Cloud Task 应用程序。