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 -->
+