Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set max no of records read in flatfileItemReader?

Tags:

spring-batch

My application needs only fixed no of records to be read & processed. How to limit this if I am using a flatfileItemReader ? In DB based Item Reader, I am returning null/empty list when max_limit is reached. How to achieve the same if I am using a org.springframework.batch.item.file.FlatFileItemReader ?

like image 236
skpraveen Avatar asked Dec 15 '22 05:12

skpraveen


1 Answers

For the FlatFileItemReader as well as any other ItemReader that extends AbstractItemCountingItemStreamItemReader, there is a maxItemCount property. By configuring this property, the ItemReader will continue to read until either one of the following conditions has been met:

  1. The input has been exhausted.
  2. The number of items read equals the maxItemCount.

In either of the two above conditions, null will be returned by the reader, indicating to Spring Batch that the input is complete.

If you have any custom ItemReader implementations that need to satisfy this requirement, I'd recommend extending the AbstractItemCountingItemStreamItemReader and going from there.

like image 194
Michael Minella Avatar answered Feb 01 '23 23:02

Michael Minella