快看点丨Spring Cloud Task 任务开发-实现任务处理逻辑(二)
腾讯云 2023-04-21 01:21:03


(相关资料图)

创建任务配置类

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

@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 任务开发-实现任务处理逻辑(二)

2023-04-21

全球大米将出现20年来最大短缺!惠誉:高价或持续至2024年

2023-04-21

抗抑郁新药获批中国上市 可快速缓解自杀倾向

2023-04-21

今日观点!慧策旺店通在上饶举办江西电商商家交流会

2023-04-20

卓创资讯:购销僵持 短期玉米价格上行承压

2023-04-20

世界新资讯:株洲市天元区水利局原局长范宏平接受天元区监委监察调查

2023-04-20

每日焦点!厦门添一所省一级达标高中 目前全市达20所

2023-04-20

个人养老金客户突破300万,招行布局养老金融未来-天天热文

2023-04-20

全球热文:前有小贝,后有密子君:难逃翻车的美食主播们

2023-04-20

环球新资讯:时隔10年 新一代PC硬件杀手:《孤岛危机4》来了

2023-04-20

每日热闻!瑞幸咖啡员工称被罚抄写顾客差评 客服回应:对顾客负责

2023-04-20

全球热推荐:3岁儿童必背100首古诗【文案147句】(三岁宝宝背诵的100首古诗)

2023-04-20

蓝库云|制造业该如何利用WMS仓库管理系统赋能企业发展 每日讯息

2023-04-20

央视频汽车频道发布新战略 系列创新IP内容将上线 全球热点评

2023-04-20

江扬环境2022年亏损1034.24万同比由盈转亏水环境工程收入减少

2023-04-20

热门推荐