为了账号安全,请及时绑定邮箱和手机立即绑定

弹簧批次将不同类别中的步骤分开

弹簧批次将不同类别中的步骤分开

烙印99 2022-09-21 21:39:44
您好,如何将不同类中的步骤分开。 @Configurationpublic class JobBatch { @Beanpublic Job jobCC5(JobBuilderFactory jobBuilders, StepBuilderFactory stepBuilders) throws IOException {    return jobBuilders.get("jobCC5").start(chStep1(stepBuilders)).build();              }  } @Configurationpublic class Step1{@Beanpublic Step Step1(StepBuilderFactory stepBuilders) throws IOException {return stepBuilders.get("step1").<CSCiviqueDTO, String>chunk(100)    .reader(readerStep1VerifLenghtNir(null)).processor(processorStep1())        .writer(writerStep1(null)).faultTolerant().skipLimit(9).skip(Exception.class).build();}
查看完整描述

1 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

下面是一个示例。创建一个类,在其中定义步骤:


import org.springframework.batch.core.Step;

import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;

import org.springframework.batch.repeat.RepeatStatus;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;


@Configuration

public class StepConfig {


    @Autowired

    private StepBuilderFactory steps;


    @Bean

    public Step step() {

        return steps.get("step")

                .tasklet((contribution, chunkContext) -> {

                    System.out.println("hello world");

                    return RepeatStatus.FINISHED;

                })

                .build();

    }

}

然后在作业配置中导入该类:


import org.springframework.batch.core.Job;

import org.springframework.batch.core.Step;

import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;

import org.springframework.batch.core.configuration.annotation.JobBuilderFactory;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.context.annotation.Import;


@EnableBatchProcessing

@Configuration

@Import(StepConfig.class)

public class JobConfig {


    @Autowired

    private JobBuilderFactory jobs;


    @Bean

    public Job job(Step step) {

        return jobs.get("job")

                .start(step)

                .build();

    }


}

希望这有帮助。


查看完整回答
反对 回复 2022-09-21
  • 1 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号