【资料图】
创建任务配置类
接下来,我们需要创建一个任务配置类,用于配置任务的输入和输出。
@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
在上面的输出中,我们可以看到任务的输入和输出,以及任务的执行结果。此外,我们还可以看到任务的执行时间和退出码。
-
环球今日讯!【新华500】新华500指数(989001)21日收跌1.98%新华500指数(989001)21日收盘跌1 98%,报4439 63点。指数盘中最高触及4530 17点,最低触及4438 88点,成
-
收评:沪指放量跌近2%险守3300点 ChatGPT概念股全线大跌周五沪指低开,深成指、创业板指高开,三大指数今日放量调整,深成指午后跌超2%,沪指、创业板指均跌近2%,
-
周鸿祎发内部信 “360智脑”三大新场景将开放测试4月21日,周鸿祎发布主题为“三六零人工智能总动员”的内部信,要求360每一位员工、每个产品和业务都要全面
-
世界微头条丨科创板收盘播报:科创50指数跌4.13% 中船特气较发行价涨35.8%细分领域来看,运输设备股及航空股整体小幅波动,医药股及医疗股呈分化态势,半导体股及软件服务股跌幅靠前
-
2023泰尔英福合作伙伴大会举办-每日资讯以“数字驱动·智能未来”为主题的2023泰尔英福合作伙伴大会4月20日成功举办。《工业互联网标识产业发展报
-
环球今日讯!【新华500】新华500指数(989001)21日收跌1.98%
2023-04-21 15:42:52
-
收评:沪指放量跌近2%险守3300点 ChatGPT概念股全线大跌
2023-04-21 15:43:55
-
周鸿祎发内部信 “360智脑”三大新场景将开放测试
2023-04-21 15:25:29
-
世界微头条丨科创板收盘播报:科创50指数跌4.13% 中船特气较发行价涨35.8%
2023-04-21 15:43:27
-
2023泰尔英福合作伙伴大会举办-每日资讯
2023-04-21 15:25:18
时尚