Spring Batch在本地写入文件

时间:2019-05-28 13:39:29

标签: spring io spring-batch

我有一份工作来创建通常是FTP的输出文件。我希望将此文件写在本地,以便可以通过下一步而不是通过FTP

访问

我已经做了一些搜索,实际上只能找到有关远程写的信息。我需要写一个步骤吗?我希望bus567SetupStep在本地写入文件,因此bus568SetupStep可以读取该文件并开始工作。我不需要putFtpStep

@EnableBatchProcessing
public class BusbspaBatchConfiguration {

    // tag::jobstep[]
    @Bean(name = "mccBUSBSPAjob")
    public Job mccEcmPurgejob(JobBuilderFactory jobFactory, //
            @Qualifier("bus567SetupStep") Step bus567SetupStep, //
            @Qualifier("bus568SetupStep") Step bus568SetupStep, //
            @Qualifier("callM204Step") Step callM204Step, //
            @Qualifier("putFtpFilesStep") Step putFtpStep, //
            @Qualifier("teardownStep") Step teardownStep, //
            @Autowired SingleInstanceListener listener) {
        return jobFactory.get("mccBUSBSPAjob") //
                .incrementer(new RunIdIncrementer()) //
                .listener(listener) //
                .start(bus567SetupStep) //
                .next(callM204Step) //
                .next(bus568SetupStep) //
                .next(callM204Step) //
                .next(putFtpStep) //
                .next(teardownStep) //
                .build();
    }

    @Bean(name = "bus567SetupStep")
    public Step bus567SetupStep(StepBuilderFactory stepFactory, Bus567SetupTasklet task) {
        return stepFactory.get("bus567SetupStep") //
                .tasklet(task) //
                .allowStartIfComplete(true).build();
    }

    @Bean(name = "bus568SetupStep")
    public Step bus568SetupStep(StepBuilderFactory stepFactory, Bus568SetupTasklet task) {
        return stepFactory.get("bus568SetupStep") //
                .tasklet(task) //
                .allowStartIfComplete(true).build();
    }

    // end::jobstep[]
}

0 个答案:

没有答案