|
What about the isAllowStartIfComplete property? I think it would be best to remove it completely, it doesn't make any good sense to me.
It makes sense to me: some steps are idempotent, and in fact often they are required as "preparation stages" (e.g. clear a directory), so they are always required, even if they were successfully executed already. If we could move this out of the Step interface. that would be good. Would that make sense though - doesn't the job need that information?
Note that moving the start limit and isAllowStartIfComplete properties from interface into implementation brings us back to the awkward execution logic where each step will be investigating its execution history although it is the first run of the job and there's nothing to be found in execution history.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BATCH-372, which we closed off. For my money all we need to do here is review the properties in the public API of Job and Step and make sure they are all actually used sensibly.