Spring Cloud Task 任务开发-实现任务处理逻辑(二) 资讯推荐
2023-04-20 17:35:47来源:腾讯云
(资料图)
创建任务配置类
接下来,我们需要创建一个任务配置类,用于配置任务的输入和输出。
@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 任务开发-实现任务处理逻辑(二) 资讯推荐
- 里克-巴里谈联盟禁赛追梦:完全是胡闹 这对勇士和追梦不公平_焦点速读
- 世界聚焦:桃源马鬃岭:保障粮食生产,谱写突破篇章
- 精彩看点:当日快讯:雪榕生物:拟12亿元投建雪榕现代食品产业项目
- 世界新消息丨如何把数字月份转换成英文的月1-12缩写快速
- 环球新动态:杜兰特:MVP选恩比德 若不是连续2年被人撞到膝盖我会选自己
- 一条瑜伽裤就能让你和身材焦虑说拜拜吗?|世界热门
- 婚介乘势拓“港漂”市场,“封关”撮合内地香港情侣
- 天天观察:360ie浏览器极速模式 360ie兼容模式怎么设置
- 世界热消息:Skip:AD又让我们失望了 他被蒂尔曼打爆了
- 天天实时:建发保利置业联合体溢价8.72%竞得上海集中供地青浦区盈浦街道地块
- 世界简讯:2023上海车展:全新宝马X1首发亮相
- 2023年首次!日全环食将于20日上演:中国局地可观赏
- 1158万人!今年高校毕业生数量再创历史新高!找工作更难了...
- 天天要闻:阜新到沈阳火车经过几个站_阜新到沈阳火车时刻表
- 交房刚半年印象滟楼体网格布脱落 满墙飘起破布条-世界关注
- 全球今日讯!百胜智能:4月19日融资买入39.82万元,融资融券余额2584.92万元
- WTT澳门站还没遇上国乒就出局,伊藤美诚的状态直线下滑
- 华塑科技(301157):该股换手率大于8%(04-20)
- 石竹属于花卉吗_石竹属
- 全球视讯!大商所:乙二醇期权和苯乙烯期权自5月15日起上市交易
- 华致酒行:4月18日召开董事会会议 今日热讯
- 《女子推理社》:以全女性推理探讨现实议题,为职场女性注入积极能量_热推荐
- 天天快播:家庭娱乐KTV的选择:惠威ET1000有源KTV音箱带来高质量音质表现
- 郑州市第五十八中学:品读历史遗迹 感受文明风采
- 兴齐眼药: 监事会决议公告
- Python面向对象编程-元类_天天精选
- 今日视点:华侨城集团30亿中期票据将赎回本金及利息兑付 票面利率5.8%
- 天天热推荐:国家发改委:加快建设沪苏湖铁路、通苏嘉甬铁路 高效推进轨道上的长三角建设
- 【直播预告】2023食品安全“你点鄂检”进校园活动即将举行