diff --git a/spring-batch-core/.settings/com.springsource.sts.config.flow.prefs b/spring-batch-core/.settings/com.springsource.sts.config.flow.prefs index f16242a6c..2def1e000 100644 --- a/spring-batch-core/.settings/com.springsource.sts.config.flow.prefs +++ b/spring-batch-core/.settings/com.springsource.sts.config.flow.prefs @@ -1,4 +1,4 @@ -#Wed May 04 11:51:55 BST 2011 +#Wed May 04 14:36:34 BST 2011 //com.springsource.sts.config.flow.coordinates\:http\://www.springframework.org/schema/batch\:/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/ChunkElementLateBindingParserTests-context.xml=\n\n\n\n\n\n //com.springsource.sts.config.flow.coordinates\:http\://www.springframework.org/schema/batch\:/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/JobExecutionListenerMethodAttributeParserTests-context.xml=\n\n\n\n\n\n //com.springsource.sts.config.flow.coordinates\:http\://www.springframework.org/schema/batch\:/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/JobRepositoryDefaultParserTests-context.xml=\n @@ -6,7 +6,8 @@ //com.springsource.sts.config.flow.coordinates\:http\://www.springframework.org/schema/batch\:/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/ParentRetryableStepFactoryBeanParserTests-context.xml=\n\n\n\n\n\n\n\n\n\n //com.springsource.sts.config.flow.coordinates\:http\://www.springframework.org/schema/batch\:/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/ParentSkippableLateBindingStepFactoryBeanParserTests-context.xml=\n\n\n\n\n\n\n\n\n\n //com.springsource.sts.config.flow.coordinates\:http\://www.springframework.org/schema/batch\:/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/ParentSkippableStepFactoryBeanParserTests-context.xml=\n\n\n\n\n\n\n\n\n\n -//com.springsource.sts.config.flow.coordinates\:http\://www.springframework.org/schema/batch\:/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/PartitionStepParserTests-context.xml=\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n +//com.springsource.sts.config.flow.coordinates\:http\://www.springframework.org/schema/batch\:/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/PartitionStepParserTests-context.xml=\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n +//com.springsource.sts.config.flow.coordinates\:http\://www.springframework.org/schema/batch\:/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/PartitionStepWithLateBindingParserTests-context.xml=\n\n\n\n\n\n //com.springsource.sts.config.flow.coordinates\:http\://www.springframework.org/schema/batch\:/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/StepListenerInStepParserTests-context.xml=\n\n\n\n\n\n //com.springsource.sts.config.flow.coordinates\:http\://www.springframework.org/schema/batch\:/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/StepListenerMethodAttributeParserTests-context.xml=\n\n\n\n\n\n //com.springsource.sts.config.flow.coordinates\:http\://www.springframework.org/schema/batch\:/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/StepListenerParserTests-context.xml=\n\n\n\n\n\n diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/StepParserStepFactoryBean.java b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/StepParserStepFactoryBean.java index 83b15cd29..23802f857 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/StepParserStepFactoryBean.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/StepParserStepFactoryBean.java @@ -63,7 +63,6 @@ import org.springframework.batch.retry.RetryPolicy; import org.springframework.batch.retry.backoff.BackOffPolicy; import org.springframework.batch.retry.policy.MapRetryContextCache; import org.springframework.batch.retry.policy.RetryContextCache; -import org.springframework.beans.factory.BeanCreationException; import org.springframework.beans.factory.BeanNameAware; import org.springframework.beans.factory.FactoryBean; import org.springframework.core.task.SyncTaskExecutor; @@ -298,23 +297,6 @@ class StepParserStepFactoryBean implements FactoryBean, BeanNameAware { ts.setPartitionHandler(partitionHandler); } - // BATCH-1659 - if (partitionHandler instanceof TaskExecutorPartitionHandler) { - TaskExecutorPartitionHandler taskExecutorPartitionHandler = (TaskExecutorPartitionHandler) partitionHandler; - if (taskExecutorPartitionHandler.getStep() == null) { - // Only for a local partition handler is the step required - Assert.state(step != null, - "A Step must be provided for a partition step with a TaskExecutorPartitionHandler"); - try { - taskExecutorPartitionHandler.setStep(step); - taskExecutorPartitionHandler.afterPropertiesSet(); - } - catch (Exception e) { - throw new BeanCreationException("Could not configure TaskExecutorPartitionHandler", e); - } - } - } - boolean allowStartIfComplete = this.allowStartIfComplete != null ? this.allowStartIfComplete : false; String name = this.name; if (step != null) { diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/xml/PartitionStepParserTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/xml/PartitionStepParserTests.java index 1188bb12a..148ae8335 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/xml/PartitionStepParserTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/xml/PartitionStepParserTests.java @@ -130,10 +130,10 @@ public class PartitionStepParserTests implements ApplicationContextAware { job2.execute(jobExecution); assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); Collections.sort(savedStepNames); - assertEquals("[s3, step1:partition0, step1:partition1, step1:partition2]", savedStepNames.toString()); + assertEquals("[s2:partition0, s2:partition1, s2:partition2, s3]", savedStepNames.toString()); List stepNames = getStepNames(jobExecution); assertEquals(5, stepNames.size()); - assertEquals("[s2, s3, step1:partition0, step1:partition1, step1:partition2]", stepNames.toString()); + assertEquals("[s2, s2:partition0, s2:partition1, s2:partition2, s3]", stepNames.toString()); } /** @@ -150,10 +150,9 @@ public class PartitionStepParserTests implements ApplicationContextAware { for (StepExecution se : jobExecution.getStepExecutions()) { String stepExecutionName = se.getStepName(); - if (stepExecutionName.equalsIgnoreCase("j3s1")) { // the partitioned - // step + // the partitioned step + if (stepExecutionName.equalsIgnoreCase("j3s1")) { PartitionStep partitionStep = (PartitionStep) this.applicationContext.getBean(stepExecutionName); - // prove that the reference in the {@link // TaskExecutorPartitionHandler} is the step configured inline TaskExecutorPartitionHandler taskExecutorPartitionHandler = accessPrivateField(partitionStep, @@ -166,10 +165,10 @@ public class PartitionStepParserTests implements ApplicationContextAware { } assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); Collections.sort(savedStepNames); - assertEquals("[j3s1:partition0, j3s1:partition1, j3s1:partition2]", savedStepNames.toString()); + assertEquals("[j3s1:partition0, j3s1:partition1, j3s1:partition2, j3s1:partition3, j3s1:partition4, j3s1:partition5]", savedStepNames.toString()); List stepNames = getStepNames(jobExecution); - assertEquals(4, stepNames.size()); - assertEquals("[j3s1, j3s1:partition0, j3s1:partition1, j3s1:partition2]", stepNames.toString()); + assertEquals(7, stepNames.size()); + assertEquals("[j3s1, j3s1:partition0, j3s1:partition1, j3s1:partition2, j3s1:partition3, j3s1:partition4, j3s1:partition5]", stepNames.toString()); } /** @@ -204,8 +203,8 @@ public class PartitionStepParserTests implements ApplicationContextAware { // Step names not saved by this one (it geosn't have that tasklet) assertEquals("[]", savedStepNames.toString()); List stepNames = getStepNames(jobExecution); - assertEquals(4, stepNames.size()); - assertEquals("[j4s1, j4s1:partition0, j4s1:partition1, j4s1:partition2]", stepNames.toString()); + assertEquals(7, stepNames.size()); + assertEquals("[j4s1, j4s1:partition0, j4s1:partition1, j4s1:partition2, j4s1:partition3, j4s1:partition4, j4s1:partition5]", stepNames.toString()); } @Test diff --git a/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/PartitionStepParserTests-context.xml b/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/PartitionStepParserTests-context.xml index 613040b89..259637e8b 100644 --- a/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/PartitionStepParserTests-context.xml +++ b/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/PartitionStepParserTests-context.xml @@ -16,14 +16,14 @@ - + - + @@ -31,7 +31,7 @@ - + @@ -51,6 +51,7 @@ or a custom PartitionHandler --> +