diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/support/SimpleJobRepository.java b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/support/SimpleJobRepository.java index b001ccdf2..f8dac2316 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/support/SimpleJobRepository.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/support/SimpleJobRepository.java @@ -16,11 +16,6 @@ package org.springframework.batch.core.repository.support; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Date; -import java.util.List; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.batch.core.BatchStatus; @@ -39,6 +34,11 @@ import org.springframework.batch.core.repository.dao.StepExecutionDao; import org.springframework.batch.item.ExecutionContext; import org.springframework.util.Assert; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.List; + /** * *
@@ -287,6 +287,7 @@ public class SimpleJobRepository implements JobRepository { if (jobExecution != null) { jobExecution.setExecutionContext(ecDao.getExecutionContext(jobExecution)); + stepExecutionDao.addStepExecutions(jobExecution); } return jobExecution; diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/SimpleJobRepositoryIntegrationTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/SimpleJobRepositoryIntegrationTests.java index 4d51700c5..88b006ac5 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/SimpleJobRepositoryIntegrationTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/SimpleJobRepositoryIntegrationTests.java @@ -15,12 +15,6 @@ */ package org.springframework.batch.core.repository.support; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.fail; - -import java.util.Date; - import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.batch.core.BatchStatus; @@ -38,6 +32,13 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.transaction.annotation.Transactional; +import java.util.Arrays; +import java.util.Date; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.fail; + /** * Repository tests using JDBC DAOs (rather than mocks). * @@ -199,7 +200,11 @@ public class SimpleJobRepositoryIntegrationTests { jobRepository.update(jobExecution); Thread.sleep(10); jobExecution = jobRepository.createJobExecution(job.getName(), jobParameters); + StepExecution stepExecution = new StepExecution("step1", jobExecution); + jobRepository.add(stepExecution); + jobExecution.addStepExecutions(Arrays.asList(stepExecution)); assertEquals(jobExecution, jobRepository.getLastJobExecution(job.getName(), jobParameters)); + assertEquals(stepExecution, jobExecution.getStepExecutions().iterator().next()); } }