Spring Cloud Task 任务开发-实现任务处理逻辑(二)
来源:腾讯云 时间:
2023-04-17 07:38:01
(资料图)
创建任务配置类
接下来,我们需要创建一个任务配置类,用于配置任务的输入和输出。
@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
在上面的输出中,我们可以看到任务的输入和输出,以及任务的执行结果。此外,我们还可以看到任务的执行时间和退出码。
关键词:
为您推荐
-
3月15日,中来股份发布公告称,公司与太原市人民政府、古交市人民政府签署了《战略合作与投资协议》,公司拟在山西省古交市投资年产20万吨
22-03-18
-
中新网8月28日电 据健康北京微信公众号消息,北京中康时代康复医院、北京四惠中医医院等多家医疗机构,存在工作人员未严格落实定期进
21-08-30
-
中新网兰州8月28日电 (记者 殷春永 冯志军)“刚开始说待三年,但三年之后又三年……”14年前受上级“委派”,在大漠戈壁深处的峡谷
21-08-30
-
中新网上海8月28日电 (张践)阿依古丽来自新疆阿勒泰地区,2009年来到上海创业。十余年来,阿依古丽身边的小伙伴们都亲切地称呼她为“
21-08-30
-
新华社郑州8月28日电(记者翟濯)记者从河南省政府新闻办28日举办的“河南省加快灾后重建”周口专场新闻发布会上获悉,本次洪涝灾害共造
21-08-30
-
中新网防城港8月28日电(陈思华 罗婕 李尚珍)8月28日上午,广西防城港火车站增加4条到发线工程正式开工。该工程系广西“十四五”规划
21-08-30
-
河南第一产粮大市近800万亩未受灾秋粮长势喜人 有望以丰补歉 中新网郑州8月28日电 (记者 李贵刚)记者28日从“河南省加快灾后重建
21-08-30
-
今天(8月28日)下午,河南省郑州市召开疫情防控新闻发布会,介绍疫情防控最新情况。 记者从发布会上获悉,郑州市居民小区继续落实查
21-08-30