Batch Applications for Java Platform
The Batch Applications API for the Java Platform 1.0 was developed under JSR 352.
This section just gives you an overview of the API. The complete document specific-
ation (for more information) can be downloaded from http://jcp.org/aboutJava/com-
What is batch processing?
According to the Cambridge Advanced Learner's Dictionary, a batch is a group of
things or people dealt with at the same time or considered similar in type. And a pro-
cess is a series of actions that you take in order to achieve a result. Based on these
two definitions, we can say that batch processing is a series of repetitive actions on
a large amount of data in order to achieve a result. Given the large amounts of data
that it has to deal with, batch processing is often used for end of day, month, period,
and year processing.
The following is a short list of domains where you can use batch processing:
• Data import/export from/to XML or CSV files
• Accounting processing such as consolidations
• ETL ( extract-transform-load ) in a data warehouse
• Digital files processing (downloading, processing, or saving)
• Notification of a service's subscribers (such as forum, group, and so on)
Why a dedicated API for batch processing?
After having an idea about batch processing, some people might ask themselves:
Why not just set a foreach loop that launches many threads? First of all, you have to
know that batch processing is not only concerned with the execution speed. Indeed,
the processing of large amounts of data is often affected by many exceptions, which
could generate a number of preoccupations: What action should be taken in case of
exceptions? Should we cancel the whole process for any exception? If not, what ac-
tion should be canceled? For which type of exception? If you only need to cancel a