Spring Cloud Task 的概述以及创建和启动短期应用程序的过程

时间:2022-12-27 10:55:05

Spring Cloud Task 的概述以及创建和启动短期应用程序的过程

本指南将引导您完成 Spring Cloud Task 的概述以及创建和启动短期应用程序的过程。

从 Spring 初始化开始

你可以使用这个预初始化项目,然后单击生成以下载 ZIP 文件。此项目配置为适合本教程中的示例。

手动初始化项目:

  1. 导航到https://start.spring.io.此服务拉入应用程序所需的所有依赖项,并为您完成大部分设置。
  2. 选择 Gradle 或 Maven 以及您要使用的语言。本指南假定您选择了 Java。
  3. 单击依赖关系,然后选择任务H2 数据库JDBC API 和 MariaDB 驱动程序
  4. 单击生成
  5. 下载生成的 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,请运行以下命令:

docker run -p 3306:3306 --name mariadb -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=task -d mariadb:latest

当 MariaDB 实例运行时,通过以下方式向应用程序提供配置:​​application.properties​

spring.datasource.url=jdbc:mariadb://localhost:3306/task
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver

再次运行应用程序现在应该将任务执行的结果存储在 MariaDB 实例中。您可以通过将 shell 放入 Docker 容器来验证这一点:

docker exec -it mariadb mariadb --user root -ppassword

然后运行命令

use task;
show tables; --show all tables that Spring Cloud Task created
select * from task_execution;

您应该能够看到在 MariaDB 实例运行时执行的所有程序运行。

总结

祝贺!您已经完成了 Spring Cloud Task 的高级概述,并且能够构建、测试和启动 Spring Cloud Task 应用程序。