弹簧批量大小

时间:2015-10-19 13:24:13

标签: spring spring-batch

我是春季批发的新人,我认为我陷入了一些基本的困境。

我创建了一个这样的Job配置:

//reader
@Bean
public ItemReader<UnprocessedTrek> atReader() {

    //AnalyzeTrekItemReader reader = new AnalyzeTrekItemReader();
    JdbcCursorItemReader<UnprocessedTrek> reader = new JdbcCursorItemReader<UnprocessedTrek>();
    reader.setSql("SELECT * FROM " + UnprocessedTrek.TBL_NAME);
    reader.setRowMapper(new UnprocessedTrekRowMapper());
    reader.setDataSource(rntDataSource);
    reader.setFetchSize(0);
    return reader;
}

//processor
@Bean
public ItemProcessor<UnprocessedTrek, Document> atProcessor()
{
    AnalyzeTrekItemProcessor processor = new AnalyzeTrekItemProcessor();
    return processor;
}

//writer
@Bean
public ItemWriter<Document> atWriter()
{
    AnalyzeTrekItemWriter writer = new AnalyzeTrekItemWriter();
    return writer;

}

@Bean
public Step analyzeTrek()
{
    return steps.get("analyzeTrek")
            .<UnprocessedTrek, Document> chunk(50)
            .reader(atReader())
            .processor(atProcessor())
            .writer(atWriter())
            .build();
}

我的问题是,当处理的项目的大小低于50时,不会调用编写器。我的配置中缺少什么?

感谢您的帮助。

0 个答案:

没有答案