-
Notifications
You must be signed in to change notification settings - Fork 0
Home
stella edited this page Jun 13, 2014
·
12 revisions
Spring Batch auto configuration is enabled by adding @EnableBatchProcessing (from Spring Batch) somewhere in your context. By default it executes all Jobs in the application context on startup (see JobLauncherCommandLineRunner for details). You can narrow down to a specific job or jobs by specifying spring.batch.job.names (comma separated job name patterns). If the application context includes a JobRegistry then the jobs in spring.batch.job.names are looked up in the registry instead of being autowired from the context. This is a common pattern with more complex systems where multiple jobs are defined in child contexts and registered centrally. See BatchAutoConfiguration and @EnableBatchProcessing for more details.
- JSR-352 Support (http://docs.spring.io/spring-batch/trunk/reference/html/jsr-352.html )
- Upgrade to Support Spring 4 and Java 8
- Promote Spring Batch Integration to Spring Batch
- JobScope Support
- SQLite Support
- **Multi-threaded Step **
- Parallel Steps
- Remote Chunking of Step
- Partitioning a Step
<step id="loading">
<tasklet task-executor="taskExecutor" throttle-limit="20">...</tasklet>
</step>- Step executes by reading, processing and writing each chunk of items (each commit interval) in a separate thread of execution.
- there is no fixed order for the items to be processed, and a chunk might contain items that are non-consecutive compared to the single-threaded case.
- default throttle limit : 4
- The Job is executing on the left hand side as a sequence of Steps, and one of the Steps is labelled as a Master. The Slaves in this picture are all identical instances of a Step, which could in fact take the place of the Master resulting in the same outcome for the Job.
- The Slaves are typically going to be remote services, but could also be local threads of execution
- PartitionHandler : simple RMI remoting, EJB remoting, custom web service, JMS, Java Spaces, shared memory grids (like Terracotta or Coherence), grid execution fabrics (like GridGain)
- gridSize : determines the number of separate step executions to create. default value is 10.
- spring batch ensure that one execution of slave step per one job.
- Many articles recommand this solution for solving issues of batch scaling.
