Nov 27th, 2012, 03:57 PM
Is Spring-Batch an option ?
I've a requirement to process records offline, reading from one staging table. They can be processed in chunks. The expected records to process can be 300k per day.
There are some records to be processed per day and per week. This process should be reliable, fault-tolerant, should support rollback and re-processing.
I'm thinking of a simple spring pojo that implements spring transactions and use Spring-Quartz scheduler to kick off jobs (daily, weekly - based on cron).
Is Spring-Batch an option ? I see that Spring-Batch brings a fat design with a lot of unnecessary framework code into my application. We already have spring f/w so I'm thinking to use just a spring-quartz scheduler for this requirement and I think Spring-Batch as a new framework may not be required.
Nov 30th, 2012, 10:12 AM
The use case you describe is the classic use case for Spring Batch. You can still use Quartz for scheduling of your batch processes, but batch will address things like:
- Declaritive I/O (No need to write all of the state management required for chunking, etc).
- Retry/restartability. Why reinvent the wheel?
- Extensive scalability options depending on your needs and expected growth.
I'm a fan of not re-inventing the wheel. Spring Batch has been designed and tested from the ground up to do what you described. I recommend it (no bias here though )
Besides the addition of a couple jar files, what other concerns do you have about adding it?