Spring Cloud Task 任务开发-实现任务处理逻辑(二) 每日快讯
2023-04-19 12:08:12 腾讯云


(相关资料图)

创建任务配置类

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

@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-19Spring Cloud Task 任务开发-实现任务处理逻辑(二) 每日快讯
  2. 2023-04-19世界新消息丨彩金闹天宫金币价格今天多少一克(2023年04月19日)
  3. 2023-04-19国内油价4月28日24时再调整 暂处于搁浅区间 有望降价-当前热闻
  4. 2023-04-19中国工程院院士、北京生物制品研究所原所长赵铠——69年,致力于生物制品研究(讲述·一辈子一件事)
  5. 2023-04-19陕西渭南:牡丹花开
  6. 2023-04-19非法拍摄福建舰,判刑!
  7. 2023-04-19广州黄埔区企业获3项中国标准创新贡献奖
  8. 2023-04-19去火最快的方法喝什么茶_去火最快的方法-焦点快看
  9. 2023-04-19快播:30家企业获授信1200亿元!央行上海总部和市工商联合作推进银企对接
  10. 2023-04-19全球今日报丨湖北省团风县发布大雾黄色预警
  11. 2023-04-19Shams:追梦不会被禁赛&将被罚款的原因是小萨抱腿在先 环球热门
  12. 2023-04-19江苏推进制造业低碳转型_头条焦点
  13. 2023-04-19人民日报|南京:一碗面见证餐饮业回暖
  14. 2023-04-19苹果iPhone 15 Pro Max配备“潜望镜镜头”,支持 5-6 倍光学变焦 全球速讯
  15. 2023-04-19江苏阳光:4月18日融资买入152.25万元,融资融券余额1.54亿元 焦点资讯
  16. 2023-04-19焦点观察:洗衣机洗羽绒服羽绒成坨正常吗?
  17. 2023-04-19天天快看:智明星通2022年净利4.81亿同比下滑43.33%投资收益减少
  18. 2023-04-19北京海淀开展消防安全进校园活动 师生学校园火灾防范及逃生办法
  19. 2023-04-19观天下!银行业动荡“后遗症”来了?美国企业破产潮汹涌而至
  20. 2023-04-19【关注】云南艺术学院设计学院深入墨江县开展哈尼服饰制作技艺专题田野调研|要闻