全球资讯: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 任务开发-实现任务处理逻辑(二)
2023-04-19 07:12:49
世界微速讯:负离子的功效与作用_快来了解一下吧
2023-04-19 06:39:57
环球动态:4座车站已封顶,北京地铁平谷线一季度多个标段取得节点性突破
2023-04-19 06:20:32
天天亮点!武汉最新方案出炉!
2023-04-19 06:03:59
前沿热点:京杭运河济宁跃进临港国际智慧制造基地开工,营收可达300亿
2023-04-19 05:38:15
当前消息!杭州率先立法保障外卖员劳动权益
2023-04-19 05:06:50
环球热头条丨滇中新区:绷紧森林防灭火“安全弦”
2023-04-19 04:42:34
即时看!马嘉祺怎么当上明星的_韩国瑾泉
2023-04-19 03:50:49
全球热消息:织金洞景区安全游览须知
2023-04-19 03:29:21
全球讯息:“全力尚发威”!马尚常规赛养生篮球 季后赛重拳出击
2023-04-19 03:03:09
【全球聚看点】《我被逐出队伍后过上慢生活》第二季公布!妹妹嫂子期待值拉满!
2023-04-19 02:46:26
焦点快报!国信慧谷山居 墓地_国信慧谷山居
2023-04-19 02:15:46
世界短讯!云起书院作者注册网站_云起书院作者注册
2023-04-19 01:59:36
世界新资讯:马国贤与圈外女友今日登记结婚 两人十指相扣十分甜蜜
2023-04-19 01:31:09
【世界速看料】2023上海车展:兰博基尼全新Revuelto亚太首秀
2023-04-19 01:08:16
【报资讯】亡者归来第一季_关于亡者归来第一季的介绍
2023-04-19 00:52:30
焦点信息:光洋股份:公司董事及其一致行动人拟减持不超2.61%股份
2023-04-19 00:37:54
世界快资讯:上海车展,为何独缺特斯拉?
2023-04-19 00:09:08
世界消息!守护年轻人心理健康的运动处方
2023-04-18 23:34:30
天天关注:中兴新材毛利率大幅低于同业,研发费用增加却不见专利成果
2023-04-18 23:34:40
当前时讯:潮评丨优化营商环境,“淄”味里品到了什么?
2023-04-18 22:59:07
环球热推荐:哈尔滨市市场监管局开展计量领域粮食整治“回头看”
2023-04-18 22:17:16
焦点速看:北矿科技:股东信息请参阅公司于2023年4月1日在上海证券交易所网站披露的2022年年度报告
2023-04-18 22:14:56
全球新动态:《黑暗之魂3》短发气质美女捏脸数据(黑暗之魂三女性捏脸)
2023-04-18 21:45:29
环球微资讯!新华全媒+丨一季度全国一般公共预算收入同比增长0.5%
2023-04-18 21:29:08
时讯:金山高新区城建中心成立“加梯服务工作室”
2023-04-18 20:58:57
全球要闻:市场监管总局开展2023年反不正当竞争“守护”专项执法行动
2023-04-18 21:02:03
百事通!自Shapella升级以来ETH质押量首次超过提取量
2023-04-18 19:38:16
焦点快看:中建六局华南公司广州分公司“四个聚焦”立体式监督 助推项目履约水平有效提升
2023-04-18 19:06:17
世界今日报丨4月18日通宇通讯涨停分析:光电共封装CPO,F5G,光通信概念热股
2023-04-18 18:55:14