From 9f9d909b5a36a11768da027b3901055b5f74bf8a Mon Sep 17 00:00:00 2001 From: robokaso Date: Tue, 18 Mar 2008 09:55:07 +0000 Subject: [PATCH] RESOLVED - issue BATCH-472: Exceeding the start limit on a step will cause a vague exception type to be thrown. http://jira.springframework.org/browse/BATCH-472 added package-private StartLimitExceededException (subclass of UnexpectedJobExecutionException), that takes Step as constructor argument and creates appropriate message --- .../springframework/batch/core/job/SimpleJob.java | 3 +-- .../core/job/StartLimitExceededException.java | 15 +++++++++++++++ .../batch/core/job/SimpleJobTests.java | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 spring-batch-core/src/main/java/org/springframework/batch/core/job/StartLimitExceededException.java diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/job/SimpleJob.java b/spring-batch-core/src/main/java/org/springframework/batch/core/job/SimpleJob.java index 9e5c17f1e..b5dc4ae0b 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/job/SimpleJob.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/job/SimpleJob.java @@ -198,8 +198,7 @@ public class SimpleJob extends AbstractJob { } else { // start max has been exceeded, throw an exception. - throw new UnexpectedJobExecutionException("Maximum start limit exceeded for step: " + step.getName() - + "StartMax: " + step.getStartLimit()); + throw new StartLimitExceededException(step); } } diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/job/StartLimitExceededException.java b/spring-batch-core/src/main/java/org/springframework/batch/core/job/StartLimitExceededException.java new file mode 100644 index 000000000..ee1246758 --- /dev/null +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/job/StartLimitExceededException.java @@ -0,0 +1,15 @@ +package org.springframework.batch.core.job; + +import org.springframework.batch.core.Step; +import org.springframework.batch.core.UnexpectedJobExecutionException; + +/** + * Indicates the step's start limit has been exceeded. + */ +class StartLimitExceededException extends UnexpectedJobExecutionException { + + public StartLimitExceededException(Step step) { + super("Maximum start limit exceeded for step: " + step.getName() + + "StartMax: " + step.getStartLimit()); + } +} diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/job/SimpleJobTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/job/SimpleJobTests.java index 0cf8a8676..02ac3ed68 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/job/SimpleJobTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/job/SimpleJobTests.java @@ -295,7 +295,7 @@ public class SimpleJobTests extends TestCase { job.execute(jobExecution); fail("Expected BatchCriticalException"); } - catch (UnexpectedJobExecutionException ex) { + catch (StartLimitExceededException ex) { // expected assertTrue("Wrong message in exception: " + ex.getMessage(), ex.getMessage() .indexOf("start limit exceeded") >= 0);