没有读取器(仅写入器)的简单一步 Spring 批处理作业可能吗?

Cor*_*edl 6 java spring spring-batch

我想知道是否可以编写一个春季批处理作业,该作业的步骤只有一个编写器。我在 spring 批处理文档中找不到任何关于给定步骤本质上必要的文档。

我希望做类似的事情:

public class MyBatchConfiguration {

@Bean
public ItemWriter<myInfo> myWriter() {
    return new MyWriter();
}

@Bean
public Step myStep(StepBuilderFactory stepBuilderFactory,
        ItemWriter<? super Object> myWriter,
        PlatformTransactionManager transactionManager) {

    return stepBuilderFactory.get("myStep")
            .chunk(1)
            .writer(myWriter).
            transactionManager(transactionManager).
            build();
}

@Bean
public Job myBatch(JobBuilderFactory jobs, Step myStep, JobExecutionListener listener) {

    return jobs.get("myBatch")
            .incrementer(new RunIdIncrementer())
            .flow(exceptionReporterStep)
            .end()
            .listener(listener)
            .build();

}

}
Run Code Online (Sandbox Code Playgroud)

Dea*_*ark 6

一句话,不。

看来您可能应该使用小任务步骤而不是“分块”步骤。

@Bean
public Step myStep(StepBuilderFactory stepBuilderFactory,
        Tasklet myTasklet,
        PlatformTransactionManager transactionManager) {

    return stepBuilderFactory.get("myStep")
            .tasklet(myTasklet)
            .transactionManager(transactionManager)
            .build();
}
Run Code Online (Sandbox Code Playgroud)