I have a Spring Batch job with 6 steps. For testing purposes, I sometimes throw an exception at the end of the 4th step in the step listener's afterProcess() method. However, the job does not step, but instead the 5th and the 6th steps still execute. Is this the default behavior? If so, how can I ensure that the job stops when I throw the exception?