diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcJobInstanceDaoTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcJobInstanceDaoTests.java index f4e7d2078..d0ffa096b 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcJobInstanceDaoTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcJobInstanceDaoTests.java @@ -39,8 +39,8 @@ public class JdbcJobInstanceDaoTests extends AbstractJobInstanceDaoTests { @Override protected JobInstanceDao getJobInstanceDao() { JdbcTestUtils.deleteFromTables(jdbcTemplate, "BATCH_JOB_EXECUTION_CONTEXT", - "BATCH_STEP_EXECUTION_CONTEXT", "BATCH_STEP_EXECUTION", - "BATCH_JOB_EXECUTION", "BATCH_JOB_EXECUTION_PARAMS", "BATCH_JOB_INSTANCE"); + "BATCH_STEP_EXECUTION_CONTEXT", "BATCH_STEP_EXECUTION", "BATCH_JOB_EXECUTION_PARAMS", + "BATCH_JOB_EXECUTION", "BATCH_JOB_INSTANCE"); return jobInstanceDao; } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDaoTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDaoTests.java index 5a05b47c6..223ebbf0d 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDaoTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcStepExecutionDaoTests.java @@ -22,15 +22,16 @@ public class JdbcStepExecutionDaoTests extends AbstractStepExecutionDaoTests { @Override protected JobRepository getJobRepository() { - deleteFromTables("BATCH_JOB_EXECUTION_CONTEXT", "BATCH_STEP_EXECUTION_CONTEXT", "BATCH_STEP_EXECUTION", "BATCH_JOB_EXECUTION", - "BATCH_JOB_EXECUTION_PARAMS", "BATCH_JOB_INSTANCE"); + deleteFromTables("BATCH_JOB_EXECUTION_CONTEXT", "BATCH_STEP_EXECUTION_CONTEXT", "BATCH_STEP_EXECUTION", + "BATCH_JOB_EXECUTION_PARAMS", "BATCH_JOB_EXECUTION", "BATCH_JOB_INSTANCE"); return (JobRepository) applicationContext.getBean("jobRepository"); } /** * Long exit descriptions are truncated on both save and update. */ - @Transactional @Test + @Transactional + @Test public void testTruncateExitDescription() { StringBuffer sb = new StringBuffer(); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/step/tasklet/AsyncChunkOrientedStepIntegrationTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/step/tasklet/AsyncChunkOrientedStepIntegrationTests.java index bcd11a66a..8db0ffd12 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/step/tasklet/AsyncChunkOrientedStepIntegrationTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/step/tasklet/AsyncChunkOrientedStepIntegrationTests.java @@ -47,10 +47,13 @@ import org.springframework.core.task.SimpleAsyncTaskExecutor; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.TransactionStatus; +import org.springframework.transaction.support.TransactionCallback; +import org.springframework.transaction.support.TransactionTemplate; /** * @author Dave Syer - * + * */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "/org/springframework/batch/core/repository/dao/sql-dao-test.xml") @@ -126,16 +129,21 @@ public class AsyncChunkOrientedStepIntegrationTests { } }, chunkOperations)); - JobExecution jobExecution = jobRepository.createJobExecution(job.getName(), new JobParameters(Collections - .singletonMap("run.id", new JobParameter(getClass().getName() + ".1")))); + final JobExecution jobExecution = jobRepository.createJobExecution(job.getName(), + new JobParameters(Collections.singletonMap("run.id", new JobParameter(getClass().getName() + ".1")))); StepExecution stepExecution = new StepExecution(step.getName(), jobExecution); jobRepository.add(stepExecution); step.execute(stepExecution); assertEquals(BatchStatus.COMPLETED, stepExecution.getStatus()); - dataSource.setMaxActive(2); - StepExecution lastStepExecution = jobRepository.getLastStepExecution(jobExecution.getJobInstance(), step - .getName()); + // Need a transaction so one connection is enough to get job execution and its parameters + StepExecution lastStepExecution = new TransactionTemplate(transactionManager) + .execute(new TransactionCallback() { + @Override + public StepExecution doInTransaction(TransactionStatus status) { + return jobRepository.getLastStepExecution(jobExecution.getJobInstance(), step.getName()); + } + }); assertEquals(lastStepExecution, stepExecution); assertFalse(lastStepExecution == stepExecution); }