BATCH-1712: revert changes in 2.1.7
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user