您的当前位置:首页>新闻 > 正文

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

  • 2023-04-19 12:11:13 来源:腾讯云


(资料图)

创建任务配置类

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

@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类创建任务对象。我们

全球热头条丨好评中国丨融通古今,点亮中华文化自信之灯

北京冬奥会已经闭幕,但这场冰雪盛会却以别样的中华文化魅力收获来自世界的掌声。开幕式上,二十四节气倒计

全球今头条!物理学不存在了?廉价传统显微镜实现超高分辨率 细节水平超千万元显微镜

物理学不存在了?廉价传统显微镜实现超高分辨率细节水平超千万元显微镜

上海车展开幕,来看这里的狂欢、内卷和背水一战_全球快播报

4月18日,以“拥抱汽车行业新时代”为主题的2023第二十届上海国际汽车工业展览会正式拉开帷幕。这是我国...

买它还是Model Y?小鹏G6亮相:首发前后一体压铸 最新XNGP系统加持 动态

买它还是ModelY?小鹏G6亮相:首发前后一体压铸最新XNGP系统加持

猜您喜欢

【版权及免责声明】凡注明"转载来源"的作品,均转载自其它媒体,转载目的在于传递更多的信息,并不代表本网赞同其观点和对其真实性负责。亚洲投资网倡导尊重与保护知识产权,如发现本站文章存在内容、版权或其它问题,烦请联系。 联系方式:8 86 239 5@qq.com,我们将及时沟通与处理。

产业