您当前的位置:首页 >>  娱乐 >  >> 
Spring Cloud Task 任务开发-实现任务处理逻辑(二)
来源: 腾讯云      时间:2023-04-19 07:07:14


(相关资料图)

创建任务配置类

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

@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

在上面的输出中,我们可以看到任务的输入和输出,以及任务的执行结果。此外,我们还可以看到任务的执行时间和退出码。

标签:

上一篇:

下一篇:

  • “谢谢选择我做你的妈妈!” 这封信请18年后查收

      “谢谢选择我做你的妈妈!” 这封信请18年后查收  扬子晚报讯(通讯员 刘威 记者 朱鼎兆)小时候,母亲常常在家里给我们留字条,

    来源:      时间:2022-05-09
  • 跟新冠病毒“赛跑” 他要让机器人完成核酸检测

      跟新冠病毒“赛跑” 他要让机器人完成核酸检测  经常学生们还不知道我怎么想的时候,我就把自己否定了。工作中需要有自我否定的勇气

    来源:      时间:2022-05-09
  • 助力无接触配送 上海无人车“上岗”

      助力无接触配送 上海无人车“上岗”  【疫情防控新举措】  科技日报讯 (记者符晓波)眼下,上海疫情蔓延趋势得到有效控制,不少

    来源:      时间:2022-05-09
  • “态靶辨治” 帮助患者快速转阴

      “态靶辨治” 帮助患者快速转阴  近日,随着患者清零,吉林省长春市北湖奥体中心篮球馆方舱医院等多个方舱陆续“休舱”,各医疗队也

    来源:      时间:2022-05-09
  • 四省市联合医疗队为患者全方位“解忧”

      四省市联合医疗队为患者全方位“解忧”  【同心守沪抗疫】  在上海城市足迹馆定点医院的宣传墙上,各类慢性病、基础病的健康宣教手

    来源:      时间:2022-05-09
  • 周美亮: 搜寻野生荞麦的“追种人”

      周美亮: 搜寻野生荞麦的“追种人”  ◎本报记者 马爱平  一走进位于国家作物种质库新库内的中国农业科学院作物科学研究所研究员

    来源:      时间:2022-05-09
  • 防晒“神器”竟是珊瑚“杀手”

      防晒“神器”竟是珊瑚“杀手”  科技日报北京5月8日电 (实习记者张佳欣)珊瑚礁是地球上生物最丰富、最具经济价值的生态系统之一。

    来源:      时间:2022-05-09

X 关闭

X 关闭