* FlowJob waits until the Job is finished before updating BatchStatus and ExitStatus. This is required so that individual flows in a split don't modifify the JobExecution prematurely.
* Removed FlowExecution$Status and replaced it with FlowExecutionStatus, a class that holds both a BatchStatus and an ExitStatus. This is required by the EndState because the handle() method needs to be able to return both BatchStatus and ExitStatus so that they can be applied correctly to the JobExecution when ending the job.
* Moved logic for updating JobExecution status based on last StepExecution from AbstractJob to SimpleJob because it does not apply to FlowJob.
* A job now can have a status different from any of its steps. For example, the following job will be COMPLETED while the step will be FAILED:
<step id="failingStep">
<end on="FAILED" />
</step>
* Added error checking to StepParser to make sure the same pattern does not appear more than once.
* Modified EndState.handle() so that the ExitStatus is only updated if BatchStatus is updated.
* If a job contains a <split> such that there is more than one EndState reached, the Job's status will be the highest precedence of all the statuses. For example, the following job will be FAILED:
<split id="split1">
<flow>
<step name="failingStep"/>
</flow>
<flow>
<step name="step1"/>
</flow>
</split>
* If a step has no transitions defined, then the default will be:
<fail on="FAILED" />
<end on="*" />
spring-batch-2.0.xsd:
* Renamed <stop/> to <pause/>
* Added <fail/>
StepParser.java
* Added capabilities to parse <pause/> and <fail/>
* Changed the semantics of the status= attribute so that it modifies the ExitStatus instead of BatchStatus.
* BatchStatus is determined by the element (end, fail, pause)
EndState.java
* Added storage for ExitStatus in addition to the existing BatchStatus since both will need to be saved from the parser
common-patterns.xml:
*Replaced reference to RepeatOperationsStepFactoryBean with a valid configuration.
*Rewrote "Adding a Footer Record" to discuss FlatFileFooterCallback
job.xml:
*Fixed error in the way JobParameters are defined for the CommandLineJobLauncher.