Spring Cloud Task 任务开发-实现任务处理逻辑(二)|微资讯


(资料图片)

创建任务配置类

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

@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

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

关键词:

为您推荐

Spring Cloud Task 任务开发-实现任务处理逻辑(二)|微资讯

在上面的代码中,我们创建了一个名为stringReverseTask的任务,使用SimpleTaskBuilder类创建任务对象。我们通过name方法来为任务命

来源:腾讯云2023-04-22

梭伦改革的主要内容_梭伦改革_微动态

1、梭伦改革的意义在于是雅典城邦历史发展中的重要里程碑,奠定了雅典民主政治的基础,有助于工商业的发展。2、调整了公民集体内不同阶层之间

来源:科学教育网2023-04-22

全球观速讯丨2天票房破2亿,豆瓣9.1分!“中年人的团建”消费力惊人:几百万的周边,一两天卖空

4月20日,动画电影《灌篮高手》在国内上映,吸引大量中青年观众前往观影,引发集体怀旧。上映首日,《灌篮高手》票房达到1

来源:每日经济新闻2023-04-22

科普:2023年“世界地球日”呼吁全球创造健康可持续经济|天天通讯

新华社北京4月22日电22日是第54个世界地球日,今年世界地球日的主题是“投资我们的星球”,呼吁创造健康可持续的经济。联合国世界地球日网页资

来源:新华社客户端2023-04-22

每日头条!华硕发布全球最薄笔记本:仅1cm厚

ZenbookS13OLED是一款很轻薄的笔记本电脑,厚度仅1cm,重量仅1kg。它采用华硕独有的等离子陶瓷铝材料

来源:中关村在线2023-04-22

星云大师:真正读书的人,要做到这四点

只要看书的人、买书的人多,出版界不断出书,读书的人口不断增加,社会还是有希望的。到底应该怎样读书呢?有四点意见提供:第一,有道之书尽

来源:读书人的精神家园2023-04-22

世界观焦点:一些政务App功能流于形式,让他们苦不堪言……

“问题上报:发现一个塑料瓶。解决方案:清理该塑料瓶。”近期,中部某县一名村党总支书记向记者介绍了一条巡河记录。他在巡河过

来源:齐鲁晚报网2023-04-22

乐嘉与孟非的3年“恩怨始末”,和回不去的《非诚勿扰》-每日报道

2013年,是《非诚勿扰》开播的第三个年头,也是孟非和乐嘉正式“决裂”的开始。当时,孟非在微博发文:所谓犀利可能是嘴X,所谓一针见血常常是

来源:置身事内2023-04-22