全球观点: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

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

关键词:

    为你推荐

    go的数据类型-其他数据类型-channel(二)

    以下是一个使用Channel的示例程序,该程序创建了两个Goroutine,并使用Channel在它们之间进行通信和同步。

    来源:腾讯云 23-04-22

    英年早逝 对联_英年早逝悼词对联

    今天小编肥嘟来为大家解答以上的问题。英年早逝对联,英年早逝悼词对联相信很多小伙伴还不知道,现在让我们一起来看看吧!1、父慈子孝儿孙满堂

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

    宏碁发布两款新电竞显示器 均为宽屏曲面设计_世界热议

    Acer今天发布了两款新的游戏显示器,分别为NitroXZ452CU和PredatorX34V,均为宽屏曲面显示器。

    来源:PChome 23-04-22

    随时随地玩3A 坐标武汉 这里潮好玩!壹号本掌机成为焦点 全球观天下

    ZOL“潮好玩”嘉年华科技潮玩展今天盛大开幕啦!去年我们和超20万的观众在长沙一同感受科技的乐趣。今年我们转战武汉,与新

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

    知名演员关婷娜现身五台山祈福,打扮低调颜值惊艳,40岁越来越美

    4月21日,这两天,知名演员关婷娜频繁营业,分享了自己云南游玩和五台山祈福的视频,从视频不难看出,40岁的关婷娜颜值依旧惊艳,打扮非常低调

    来源:五柳先生 23-04-22
    返回顶部