state transition comparator in FlowParser, ensure custom exit code is set at
job level.
Fixes TCK test testDeciderExitStatusIsSetOnJobContext, contributes but does
not fix decider transition tests that include restart.
* Updated Job and Step scopes to use common class introduced by jpraet
* Updated Job and Step Synchronization Managers to use common class
introduced by jpraet
* Updated JobScope related code to not be concerned with Spring 2.5
(which is what batch was on when the PR was opened).
occur during XML pre-processing. JSR-352 allows for property replacement and expressions to be present
on any element and the preprocessing provides the ability to load a well formed XML document into the
context with the intended values already present.
related artifacts
* Added BeanFactoryPostProcessor
* Fixed StepContext creation (now creates one per thread)
* Fixed StepContext exit status processing (now keeps track of being set
manualy or not
* Created new Flow implementation to handle JSR-352 state transitions
* Updated flow parsing to not default to completed if no other
transitions are provided
by default.
* Refactored the JsrJobOperator to use SimpleAsyncTaskExecutor by
default
* Introduced a JobContextFactory to provide a JobContext per thread.
* Updated stop logic to correctly handle stopping jobs running on
another thread.
* Added a call for a completionPolicy when creating FaultTolerantStep
* Added an assertion for the chunkCompletionPolicy in the unit test.
JIRA: https://jira.springsource.org/browse/BATCH-2096
Tests blocked by TCK issues: testOneArtifactIsJobAndStepListener, testStartLimitVariation1
* Expose job level properties to step artifacts and update tests
* Make JobParameterResolvingBeanFactoryPostProcessor HIGHEST_PRECEDENCE to avoid other BFPP's creating bean defs first
* General cleanup and renaming
* Register a bean definition for the JobContext prior to refreshing the beanfactory so it becomes injectable. Set properties and the jobExecution on the JobContext bean after they are initalized.
* Only step scope non-step scoped listeners
* Parse flow elements and transitions
* Basic partitioning support per JSR-352
* Parameter injection at the partition level
* PartitionCollector/PartitionAnalyzer functionality
* PartitionReducer functionality
* Move pre-context init of JobParameters support out of ThreadLocalClassloaderBeanPostProcessor
* General cleanup in BatchPropertyBeanPostProcessor, move artifact type checking into classifer class, minor naming updates
* Refactor BatchPropertyContext to use different data structures for different types of properties and provide named accessors
* Remove path based artifact scoping support
* Make sure expressions are parsed when resolving properties directly from XML
* Update property tests
* Move registration of jobProperties bean into the JsrNamespaceUtils
* On restart if a previous JobExecution has a status of ABANDONED, throw a JobRestartException
* Ensure any previous JobParameters are merged with new parameters when creating a new job execution on restart
* Added a BeanFactoryPostProcessor to add bean definitions for batch artifacts referenced only by class name
* Updated the BatchPropertyBeanPostProcessor to address scope targets
* Moved the registration of the various post processors to a new JsrNamespaceUtils (similar to how they are handled with the core namespace)
* 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).