Thursday, March 11, 2010

Spring Batch vs Quartz

A. What is Spring Batch?
It is a generalized (lightweight) Enterprise Batch processor. So it is a system that is designed to autonomously preform a set of operations data. For example, say that at the end of the month you are required to generate a survey on all claims processed by an insurance agency. The process to do this requires going though each claim (across multiple departments) and pulling various pieces of metadata -- combine the data into a summary. -- This is the kind of thing you design a batch program for -- especially if the requirements may change over time (like as laws change) so you need flexibility.

B. Why go for Spring Batch?
Well it is lightweight and pretty easy to work with however this is really an architecture question and without knowing much about the existing system you are working with I don't know if I can answer that.

C.How can we use Quartz for scheduling Spring Batch?
Quartz is an excellent concurrent scheduler. It is really not difficult to setup and configure. However -- before using Quartz you may wish to see if these features are already included in your infrastructure. For example many application servers provide scheduling.