BATCH-1712: revert changes in 2.1.7

This commit is contained in:
Dave Syer
2011-05-04 14:57:31 +01:00
parent 3a99b70397
commit 46b8fcac1f
4 changed files with 16 additions and 33 deletions

View File

@@ -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<I, O> 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) {

View File

@@ -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<String> 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<String> 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<String> 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

View File

@@ -16,14 +16,14 @@
<job id="job2">
<step id="s2" next="s3">
<partition step="step1" handler="handler" partitioner="partitioner" />
<partition handler="handler" partitioner="partitioner" />
</step>
<step id="s3" parent="step2" />
</job>
<job id="job3">
<step id="j3s1">
<partition handler="handler" partitioner="partitioner">
<partition partitioner="partitioner">
<step parent="step2" />
</partition>
</step>
@@ -31,7 +31,7 @@
<job id="job4">
<step id="j4s1">
<partition handler="handler" partitioner="partitioner">
<partition partitioner="partitioner">
<step>
<tasklet>
<chunk reader="reader" writer="writer" commit-interval="10" />
@@ -51,6 +51,7 @@
or a custom PartitionHandler -->
<bean id="handler" class="org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler" xmlns="http://www.springframework.org/schema/beans">
<property name="gridSize" value="3" />
<property name="step" ref="step1"/>
</bean>
<beans:bean id="aggregator"