Before this commit, SimpleJobExplorer#getJobExecutions returned
job executions with wrong job parameters, ie a job execution could
have the parameter of another execution.
This commit fixes the implementation so that each returned job
execution has its own parameters.
Resolves#4246
This commit replaces String concatenation with
text blocks for SQL queries in various DAOs.
This improves the readability of the code.
NB: Not all SQL queries in the code base were
changed to use text blocks, but only those where
readability became an issue.
Before this commit, SimpleJobRepository#deleteJobInstance
was only deleting the given job instance and not the entire
object graph, which leads to data inconsistency (orphan job
executions and invalid foreign keys).
This commit fixes the contract and the implementation of the method
to delete the entire object graph.
Resolves#4250
Before this commit, SimpleJobRepository#deleteJobExecution
did not delete associated step executions as specified in the
contract of the method.
This commit fixes the implementation to delete the entire
object graph as specified.
Resolves#4249
Before this commit, the parsing of job parameters in
JobOperator#start and MetaDataInstanceFactory#createJobExecution
was accepting the comma separated key=value pairs format,
which is incompatible with the new job parameters format
introduced in v5.
This commit updates the contract as well as the implementation
of those APIs to be compatible with v5.
Resolves#4253Resolves#4301
Optimize ExitStatus#addExitDescription by reducing string allocations
through:
- avoid string allocation when the current description is empty
- avoid string allocation when the given description is empty
- avoid intermediate string allocation by allocating the correct buffer size
Issue #3979
Consistently use Assert.state in the afterPropertiesSet()
methods to throw IllegalStateException instead of
IllegalArgumentException when some properties are missing
and/or invalid.
Resolves#2244
This commit registers a `SimpleJobOperator` with the default
batch configuration through `EnableBatchProcessing` and
`DefaultBatchConfiguration`.
It also registers a `JobRegistryBeanPostProcessor` to automatically
populate the registry with user defined jobs.
Resolves#3941