diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/jsr/launch/JsrJobOperator.java b/spring-batch-core/src/main/java/org/springframework/batch/core/jsr/launch/JsrJobOperator.java index b62ef5563..c5e10831e 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/jsr/launch/JsrJobOperator.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/jsr/launch/JsrJobOperator.java @@ -340,12 +340,12 @@ public class JsrJobOperator implements JobOperator { throws NoSuchJobException, JobSecurityException { Set findRunningJobExecutions = jobExplorer.findRunningJobExecutions(name); - List results = new ArrayList(findRunningJobExecutions.size()); - - if(results.isEmpty()) { + if(findRunningJobExecutions.isEmpty()) { throw new NoSuchJobException("Job name: " + name + " not found."); } + List results = new ArrayList(findRunningJobExecutions.size()); + for (org.springframework.batch.core.JobExecution jobExecution : findRunningJobExecutions) { results.add(jobExecution.getId()); } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/jsr/launch/JsrJobOperatorTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/jsr/launch/JsrJobOperatorTests.java index 36a9aa885..8f6d60f67 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/jsr/launch/JsrJobOperatorTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/jsr/launch/JsrJobOperatorTests.java @@ -276,6 +276,15 @@ public class JsrJobOperatorTests { jsrJobOperator.getParameters(5l); } + @Test(expected=NoSuchJobException.class) + public void testGetNoRunningExecutions() { + Set executions = new HashSet(); + + when(jobExplorer.findRunningJobExecutions("myJob")).thenReturn(executions); + + jsrJobOperator.getRunningExecutions("myJob"); + } + @Test public void testGetRunningExecutions() { Set executions = new HashSet();