* Added the JsrChunkProvider implementation - a no-op ChunkProvider implementation to be used by the ChunkOrientedTasklet
* Added the JsrChunkProcessor - A simple implementation of a ChunkProcessor that handles the JSR-352 chunking pattern (read and process loop with a single write per chunk).
* Added the JsrFaultTolerantChunkProcessor - A ChunkProcessor that implements chunking the way JSR-352 requires as well as adding skip/retry functionality.
* Added builders to support the above functionality.
* Implemented the interfaces per the JSR-352 spec
* Added a ne StepContextFactoryBean used to add the StepContext (one per step) into the step scope to be available for injection by batch artifacts.
* Updated the StepParser to utilize the new StepContextFactoryBean.
* Spring Batch's native JobInstance now implements the JSR's JobInstance interface.
* SB's JobExecution can be wrapped by a JSR's JobExecution.
* SB's StepExecution can be wrappedy by a JSR's StepExecution.
* A new JsrFlowJob and JsrFlowExecutor have been introduced to correctly handle the promotion of ExitStatuses during step execution.
* The JsrJobOperator has been fixed to correctly retrieve StepExecutions (previously was not returning fully hydrated verions).
* Added the StoppableTasklet interface (an extension of the Tasklet interface).
* Updated JobOperator#stop(long executionId) to call StoppableTasklet#stop() on any currently running tasklets (local executions only).
* Updated the SystemCommandTasklet to implement StoppableTasklet
* Added JsrJobOperator
* Added a ParametersConverter (and JSR-352 implementation) that converts parameters as specified by the JSR to JobParameters and back
* Added a method to the JobRepository to allow the direct creation of a JobInstance (since the JSR requires a new instance for each call to JobOperator#start
* Added a base context to be bootstrapped when the JobOperator is first referenced. It provides things like a JobRepository, etc.
- jobInstance field gets filled out in SimpleJobExplorer.getStepExecution(Long jobExecutionId, Long executionId)
- existing unit test enhanced to verify that the jobInstance field gets set
- additional integration unit test added to illustrate the issue
As described in the JIRA ticket, parameterized methods can be
confusing for users, so it is good to include some hints how to
use them in the javadocs. StepBuilder.chunk() is the focus here.
2) Fixed the vpp files for a typo on the sqlf platform name (sqlf instead of sqlfire) and dropping the constraints.
However, the code generation has not been tested.