环球今热点:Spring Cloud Task 任务开发-实现任务处理逻辑(二)
2023-04-18 19:40:24 腾讯云


(资料图片仅供参考)

创建任务配置类

接下来,我们需要创建一个任务配置类,用于配置任务的输入和输出。

@Configuration@EnableTaskpublic class StringReverseTaskConfiguration {    @Bean    public TaskConfigurer taskConfigurer() {        return new DefaultTaskConfigurer(dataSource());    }    @Bean    public DataSource dataSource() {        return new EmbeddedDatabaseBuilder()                .setType(EmbeddedDatabaseType.H2)                .addScript("classpath:org/springframework/cloud/task/schema-h2.sql")                .build();    }    @Bean    public CommandLineRunner commandLineRunner(TaskExplorer taskExplorer) {        return args -> {            List taskExecutions = taskExplorer.getTaskExecutions(taskExplorer.getLatestTaskExecution("string-reverse-task").getTaskName());            for (TaskExecution taskExecution : taskExecutions) {                System.out.println("Execution: " + taskExecution.getExecutionId() + " / Task name: " + taskExecution.getTaskName() + " / Start time: " + taskExecution.getStartTime() + " / End time: " + taskExecution.getEndTime() + " / Exit code: " + taskExecution.getExitCode());            }        };    }    @Bean    public Task stringReverseTask() {        return new SimpleTaskBuilder()                .name("string-reverse-task")                .input("Hello World!")                .tasklet(new StringReverseTask())                .build();    }}

在上面的代码中,我们创建了一个名为stringReverseTask的任务,使用SimpleTaskBuilder类创建任务对象。我们通过name方法来为任务命名,通过input方法设置任务的输入,通过tasklet方法设置任务的执行逻辑。这里我们使用了之前实现的StringReverseTask类作为任务执行逻辑。

运行任务

现在,我们已经实现了任务的输入、输出以及任务处理逻辑,接下来我们需要运行任务。

我们可以通过CommandLineRunner类运行任务,CommandLineRunner接口在Spring Boot应用程序启动后执行一些预定义的任务。我们在之前的StringReverseTaskConfiguration类中定义了一个CommandLineRunner类,该类通过TaskExplorer类查询任务执行结果并将结果输出到控制台。

现在我们可以运行Spring Boot应用程序,看到任务的执行结果:

Received input: Hello World!Output: !dlroW olleHExecution: 1 / Task name: string-reverse-task / Start time: 2022-04-23 17:09:27.149 / End time: 2022-04-23 17:09:27.155 / Exit code: 0

在上面的输出中,我们可以看到任务的输入和输出,以及任务的执行结果。此外,我们还可以看到任务的执行时间和退出码。

热门推荐

文章排行

  1. 2023-04-18环球今热点:Spring Cloud Task 任务开发-实现任务处理逻辑(二)
  2. 2023-04-18工信部:着力推动生成式AI算法原创性技术突破|今日热门
  3. 2023-04-18共享汽车,昙花一现 当前速读
  4. 2023-04-18中国经济一季度增长亮点多 消费提振作用显著
  5. 2023-04-18人工增雨增过头了?气象部门:未开展人工增雨作业,本次为自然降水
  6. 2023-04-18皇马晒欧冠赛前海报:本泽马、克罗斯、阿拉巴等人出镜
  7. 2023-04-18环球新动态:住房公积金的基数和工资什么关系 主要是这个关系
  8. 2023-04-18欧洲金靴积分排行榜:哈兰德领跑 凯恩第2姆巴佩第5
  9. 2023-04-18原腾讯QQ空间负责人,T13专家,黄希彤被爆近期被裁员,裁员原因令人唏嘘。。
  10. 2023-04-18南城县税务局:赣港一家亲 税企齐发力
  11. 2023-04-18江丰电子:目前公司原材料的供应情况正常 部分原材料已实现国产替代
  12. 2023-04-18壁纸 | 请各位注册会计师签收 希望早日更高处见!
  13. 2023-04-18【新视野】宣城广德:借助“+”模式 让“老有所学”焕发生机
  14. 2023-04-18无水焦亚硫酸钠商品报价动态(2023-04-18)-全球速讯
  15. 2023-04-18焦点短讯!本来生活网“一年一度大米节”收官 多款商品销量环比增长超300%
  16. 2023-04-18环球关注:男婴静脉被注射配方奶家长被瞒5天
  17. 2023-04-18悬铃木下起“毛毛雨”,“四件套”准备好了,昨晚开上街头!_天天新资讯
  18. 2023-04-18锂电池股价“抢跑”反弹 行业转折点出现了吗?_全球看热讯
  19. 2023-04-18机构列出金价上行和下行目标位,分别为3600美元和1560美元!
  20. 2023-04-18国家统计局:1-3月份全国固定资产投资增长5.1%