小编shi*_*kar的帖子

Spring MongoItemReader 不会在单次执行时读取所有记录

@Bean
public Job orderJob() throws Exception {
    return jobBuilderFactory.get("orderJob").incrementer(new RunIdIncrementer()).listener(listener())
            .flow(orderStep()).end().build();
}

@Bean
public Step orderStep() throws Exception {
    return stepBuilderFactory.get("orderStep").<OrderCollection, Order>chunk(1000)
            .reader(orderReader()).processor(orderProcessor()).writer(orderWriter())
            .allowStartIfComplete(true).build();

}
@Bean
@StepScope
public MongoItemReader<OrderCollection> orderReader() throws Exception {
    MongoItemReader<OrderCollection> reader = new MongoItemReader<>();
    reader.setTemplate(mongoTemplate);
    reader.setCollection("order");
    Map<String, Sort.Direction> sort = new HashMap<>();
    sort.put("_id", Sort.Direction.ASC);
    reader.setSort(sort);
    reader.setTargetType(OrderCollection.class);
    reader.setQuery("{$or: [ {flag:false}, {flag:null} ]}");
    return reader;
}
@Bean
@StepScope
public OrderProcessor orderProcessor() {
    return new OrderProcessor();
}

@Bean
@StepScope
public ItemWriter<Order> orderWriter() {
    return new OrderWriter();
}
Run Code Online (Sandbox Code Playgroud)

Order Collection …

mongodb spring-batch

2
推荐指数
1
解决办法
1642
查看次数

标签 统计

mongodb ×1

spring-batch ×1