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

2023-04-20 17:45:18 | 来源:腾讯云


【资料图】

创建任务配置类

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

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

今日观点!海达尔家族企业新任董事仍系自己人 保荐机构意见回复张冠李戴

于正再发文谈买翡翠被骗 维权困难劝大家谨慎购买-头条焦点

万辰生物涨19.99%|天天微资讯

全球观天下!自动驾驶,是忽悠吗?

最新快讯!正泰8.1亿抛售603MW工商业光伏电站

轻松筹回应收费问题:公司绝未收取任何费用,违规人员已开除 天天微动态

天天即时看!iphone5下载什么软件可以阻挡那些骚扰电话?

20日季后赛预告:湖人乘胜战灰熊 雄鹿逆境迎热火

世界快资讯:实施“四项行动”助企加快健康发展

每日资讯:中国国贸:选举林明志为公司第九届董事会董事长

西安高新区企业开办进入“2小时”时代_今日快讯

环球观点:郑州街头货车起火,车上有20箱茅台,目击者:现场只抢救出四五箱

特斯拉北京门店:未接到新一轮降价相关消息

4.20金市健言:昨日黄金空头大获全胜!今坚持1996空!|环球短讯

最新新闻

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

今日观点!海达尔家族企业新任董事仍系自己人 保荐机构意见回复张冠李戴

于正再发文谈买翡翠被骗 维权困难劝大家谨慎购买-头条焦点

万辰生物涨19.99%|天天微资讯

全球观天下!自动驾驶,是忽悠吗?

最新快讯!正泰8.1亿抛售603MW工商业光伏电站

轻松筹回应收费问题:公司绝未收取任何费用,违规人员已开除 天天微动态

天天即时看!iphone5下载什么软件可以阻挡那些骚扰电话?

20日季后赛预告:湖人乘胜战灰熊 雄鹿逆境迎热火

世界快资讯:实施“四项行动”助企加快健康发展

每日资讯:中国国贸:选举林明志为公司第九届董事会董事长

西安高新区企业开办进入“2小时”时代_今日快讯

环球观点:郑州街头货车起火,车上有20箱茅台,目击者:现场只抢救出四五箱

特斯拉北京门店:未接到新一轮降价相关消息

4.20金市健言:昨日黄金空头大获全胜!今坚持1996空!|环球短讯

运输险_关于运输险的介绍|世界观点

焦点快看:春雪食品董秘回复:对于没有及时接到您的电话表示歉意,公司暂时未设立品牌部

世界速读:波波头发图片短发_波波发型图片短发

天天观速讯丨三菱ASX规格和价格

揭秘巴黎圣母院大火 这部影片直面文明的磨难

打卡机怎么导出考勤记录到软件(打卡机怎么导出考勤记录)

环球微动态丨表板蜡的作用_表板蜡

【天天播资讯】pupil的音标怎么拼(pupil怎么读(元音字母及其组合的发音规律))

当前快报:深桑达A:4月19日融资净买入4830.64万元,连续3日累计净买入7159.86万元

热点在线丨第三届统编历史教材“精彩一课”全国教学大赛暨历史教材研究高端论坛举行

张韶涵梦里花mp3云下载_张韶涵梦里花mp3

社保交了30年退休能拿多少钱?情况是这样的

今日热闻!中国7连抛美债,孟俄核电项目用人民币结算,欧央行行长道出现实

俏米果智能投影新品即将发布 天天速递

商贸零售:从消博会看免税-海南消费潜力庞大,封关后免税价值犹存