前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Cloud Task 架构(二)

Spring Cloud Task 架构(二)

原创
作者头像
堕落飞鸟
发布2023-04-16 10:07:21
3450
发布2023-04-16 10:07:21
举报
文章被收录于专栏:飞鸟的专栏

配置Task Repository

接下来,我们需要配置Task Repository,让Spring Cloud Task知道如何将Task定义和执行信息存储到数据库中。Spring Cloud Task提供了一些默认的数据源和表结构,可以通过配置文件进行配置。例如,如果我们要使用MySQL作为Task Repository的存储,可以在application.properties文件中添加以下配置:

代码语言:javascript
复制
spring.datasource.url=jdbc:mysql://localhost:3306/mytaskdb
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.initialize=true

spring.jpa.hibernate.ddl-auto=create
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

spring.cloud.task.repository.type=jdbc

在这个配置文件中,我们定义了数据源的URL、用户名、密码、驱动程序和初始化选项。我们还使用Hibernate的自动DDL生成功能创建了数据库表。最后,我们设置了Task Repository的类型为jdbc。

配置Task Launcher

接下来,我们需要配置Task Launcher,让它知道如何与Task Repository进行交互,并启动Worker节点执行Task。Spring Cloud Task提供了多种Task Launcher实现,可以根据需要进行选择。例如,如果我们要使用Local Task Launcher,可以在application.properties文件中添加以下配置:

代码语言:javascript
复制
spring.cloud.task.launcher.local.javaOpts=-Xmx1024m
spring.cloud.task.launcher.local.workingDirectoriesRoot=/tmp/spring-cloud-task

在这个配置文件中,我们设置了Local Task Launcher的Java虚拟机选项和工作目录根路径。

启动Task

完成上述配置后,我们就可以启动Task了。首先,我们需要将Task定义发布到Task Repository中,以便Task Launcher可以获取并执行它。我们可以使用TaskService将Task定义发布到Task Repository中,例如:

代码语言:javascript
复制
javaCopy code@Autowired
private TaskService taskService;

TaskExecution taskExecution = this.taskService.createTaskExecution("myTask");

在这个示例中,我们使用TaskService的createTaskExecution方法创建了一个名为myTask的Task。Task的定义将被存储到Task Repository中,并分配一个唯一的任务ID。然后,我们可以使用TaskLauncher将Task分配给Worker节点进行执行,例如:

代码语言:javascript
复制
@Autowired
private TaskLauncher taskLauncher;

taskLauncher.launch("myTask", Collections.emptyMap());

在这个示例中,我们使用TaskLauncher的launch方法启动了一个名为myTask的Task,并传入一个空的参数Map。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置Task Repository
  • 配置Task Launcher
  • 启动Task
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档