From fce6554597891119031fb2d810c9cb253c84b279 Mon Sep 17 00:00:00 2001 From: dsyer Date: Fri, 5 Oct 2007 09:05:50 +0000 Subject: [PATCH] RESOLVED - issue BATCH-158: Dependency cycle between execution.step and execution.step.simple http://opensource.atlassian.com/projects/spring/browse/BATCH-158 StepConfiguration had to pick up an extra flag in the interface, and the configuration implementations had to be separate from the executor implementations. Also fixed a cycle in core (JobIdentifier is part of domain). --- .../bootstrap/AbstractJobLauncher.java | 4 +- .../execution/bootstrap/JobLauncher.java | 2 +- .../bootstrap/SimpleJobLauncher.java | 2 +- .../bootstrap/TaskExecutorJobLauncher.java | 2 +- .../execution/facade/JobExecutorFacade.java | 2 +- .../facade/SimpleJobExecutorFacade.java | 4 +- .../facade/VolatileJobExecutionRegistry.java | 2 +- .../runtime/ScheduledJobIdentifier.java | 2 +- .../ScheduledJobIdentifierFactory.java | 2 +- .../execution/scope/SimpleStepContext.java | 2 +- .../batch/execution/scope/StepContext.java | 2 +- .../AbstractStepConfiguration.java | 12 +--- .../ChunkOperationsStepConfiguration.java | 68 ++++++++++++++++++ ... => PrototypeBeanStepExecutorFactory.java} | 3 +- .../step/SimpleStepConfiguration.java | 56 +++++++++++++++ .../step/SimpleStepExecutorFactory.java | 1 - .../step/simple/SimpleStepExecutor.java | 2 +- .../bootstrap/SimpleJobLauncherTests.java | 2 +- .../TaskExecutorJobLauncherTests.java | 2 +- .../bootstrap/support/StubJobLauncher.java | 2 +- .../execution/facade/SimpleJobTests.java | 4 +- .../job/DefaultJobExecutorTests.java | 8 +-- .../repository/dao/AbstractStepDaoTests.java | 69 ++++++++----------- .../step/DefaultStepExecutorFactoryTests.java | 3 +- .../step/SimpleStepExecutorFactoryTests.java | 1 - ...ChunkOperationsStepConfigurationTests.java | 7 +- .../step/simple/DefaultStepExecutorTests.java | 4 +- .../step/simple/JobRepositorySupport.java | 2 +- .../simple/SimpleStepConfigurationTests.java | 17 ++--- .../simple/StepExecutorInterruptionTests.java | 6 +- .../src/test/resources/job-configuration.xml | 2 +- .../resources/simple-container-definition.xml | 4 +- 32 files changed, 202 insertions(+), 99 deletions(-) rename execution/src/main/java/org/springframework/batch/execution/step/{simple => }/AbstractStepConfiguration.java (86%) create mode 100644 execution/src/main/java/org/springframework/batch/execution/step/ChunkOperationsStepConfiguration.java rename execution/src/main/java/org/springframework/batch/execution/step/{DefaultStepExecutorFactory.java => PrototypeBeanStepExecutorFactory.java} (95%) create mode 100644 execution/src/main/java/org/springframework/batch/execution/step/SimpleStepConfiguration.java diff --git a/execution/src/main/java/org/springframework/batch/execution/bootstrap/AbstractJobLauncher.java b/execution/src/main/java/org/springframework/batch/execution/bootstrap/AbstractJobLauncher.java index 8f882f07e..8dd49d538 100644 --- a/execution/src/main/java/org/springframework/batch/execution/bootstrap/AbstractJobLauncher.java +++ b/execution/src/main/java/org/springframework/batch/execution/bootstrap/AbstractJobLauncher.java @@ -26,7 +26,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.batch.core.configuration.JobConfiguration; import org.springframework.batch.core.configuration.NoSuchJobConfigurationException; -import org.springframework.batch.core.runtime.JobIdentifier; +import org.springframework.batch.core.domain.JobIdentifier; import org.springframework.batch.core.runtime.JobIdentifierFactory; import org.springframework.batch.execution.facade.JobExecutorFacade; import org.springframework.batch.execution.facade.NoSuchJobExecutionException; @@ -252,7 +252,7 @@ public abstract class AbstractJobLauncher implements JobLauncher, * * @throws NoSuchJobExecutionException * - * @see org.springframework.batch.execution.bootstrap.JobLauncher#stop(org.springframework.batch.core.runtime.JobIdentifier) + * @see org.springframework.batch.execution.bootstrap.JobLauncher#stop(org.springframework.batch.core.domain.JobIdentifier) * @see BatchContainer#stop(JobRuntimeInformation)) */ final public void stop(JobIdentifier runtimeInformation) diff --git a/execution/src/main/java/org/springframework/batch/execution/bootstrap/JobLauncher.java b/execution/src/main/java/org/springframework/batch/execution/bootstrap/JobLauncher.java index 79845bf94..c6c3f461c 100644 --- a/execution/src/main/java/org/springframework/batch/execution/bootstrap/JobLauncher.java +++ b/execution/src/main/java/org/springframework/batch/execution/bootstrap/JobLauncher.java @@ -16,7 +16,7 @@ package org.springframework.batch.execution.bootstrap; import org.springframework.batch.core.configuration.NoSuchJobConfigurationException; -import org.springframework.batch.core.runtime.JobIdentifier; +import org.springframework.batch.core.domain.JobIdentifier; import org.springframework.batch.execution.facade.JobExecutorFacade; import org.springframework.batch.repeat.ExitStatus; diff --git a/execution/src/main/java/org/springframework/batch/execution/bootstrap/SimpleJobLauncher.java b/execution/src/main/java/org/springframework/batch/execution/bootstrap/SimpleJobLauncher.java index 83e30eac2..b6958073d 100644 --- a/execution/src/main/java/org/springframework/batch/execution/bootstrap/SimpleJobLauncher.java +++ b/execution/src/main/java/org/springframework/batch/execution/bootstrap/SimpleJobLauncher.java @@ -18,7 +18,7 @@ package org.springframework.batch.execution.bootstrap; import org.springframework.batch.core.configuration.JobConfiguration; import org.springframework.batch.core.configuration.NoSuchJobConfigurationException; -import org.springframework.batch.core.runtime.JobIdentifier; +import org.springframework.batch.core.domain.JobIdentifier; import org.springframework.batch.core.runtime.JobIdentifierFactory; import org.springframework.batch.execution.facade.JobExecutorFacade; import org.springframework.batch.execution.runtime.ScheduledJobIdentifierFactory; diff --git a/execution/src/main/java/org/springframework/batch/execution/bootstrap/TaskExecutorJobLauncher.java b/execution/src/main/java/org/springframework/batch/execution/bootstrap/TaskExecutorJobLauncher.java index 17eb188fc..f2bc73533 100644 --- a/execution/src/main/java/org/springframework/batch/execution/bootstrap/TaskExecutorJobLauncher.java +++ b/execution/src/main/java/org/springframework/batch/execution/bootstrap/TaskExecutorJobLauncher.java @@ -23,7 +23,7 @@ import javax.management.Notification; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.batch.core.configuration.NoSuchJobConfigurationException; -import org.springframework.batch.core.runtime.JobIdentifier; +import org.springframework.batch.core.domain.JobIdentifier; import org.springframework.batch.execution.facade.JobExecutorFacade; import org.springframework.batch.execution.facade.NoSuchJobExecutionException; import org.springframework.batch.repeat.ExitStatus; diff --git a/execution/src/main/java/org/springframework/batch/execution/facade/JobExecutorFacade.java b/execution/src/main/java/org/springframework/batch/execution/facade/JobExecutorFacade.java index ff7a51b14..0e4c3020b 100644 --- a/execution/src/main/java/org/springframework/batch/execution/facade/JobExecutorFacade.java +++ b/execution/src/main/java/org/springframework/batch/execution/facade/JobExecutorFacade.java @@ -17,7 +17,7 @@ package org.springframework.batch.execution.facade; import org.springframework.batch.core.configuration.NoSuchJobConfigurationException; -import org.springframework.batch.core.runtime.JobIdentifier; +import org.springframework.batch.core.domain.JobIdentifier; import org.springframework.batch.repeat.ExitStatus; /** diff --git a/execution/src/main/java/org/springframework/batch/execution/facade/SimpleJobExecutorFacade.java b/execution/src/main/java/org/springframework/batch/execution/facade/SimpleJobExecutorFacade.java index 9d5f3095f..8e7c2ab1b 100644 --- a/execution/src/main/java/org/springframework/batch/execution/facade/SimpleJobExecutorFacade.java +++ b/execution/src/main/java/org/springframework/batch/execution/facade/SimpleJobExecutorFacade.java @@ -23,11 +23,11 @@ import org.springframework.batch.core.configuration.JobConfiguration; import org.springframework.batch.core.configuration.JobConfigurationLocator; import org.springframework.batch.core.configuration.NoSuchJobConfigurationException; import org.springframework.batch.core.domain.JobExecution; +import org.springframework.batch.core.domain.JobIdentifier; import org.springframework.batch.core.domain.JobInstance; import org.springframework.batch.core.executor.JobExecutor; import org.springframework.batch.core.repository.JobRepository; import org.springframework.batch.core.runtime.JobExecutionRegistry; -import org.springframework.batch.core.runtime.JobIdentifier; import org.springframework.batch.execution.job.DefaultJobExecutor; import org.springframework.batch.repeat.ExitStatus; import org.springframework.batch.repeat.RepeatContext; @@ -101,7 +101,7 @@ public class SimpleJobExecutorFacade implements JobExecutorFacade, StatisticsPro * {@link JobIdentifier} and the {@link JobConfigurationLocator}. * * @see org.springframework.batch.execution.facade.JobExecutorFacade#start(org.springframework.batch.execution.common.domain.JobConfiguration, - * org.springframework.batch.core.runtime.JobIdentifier) + * org.springframework.batch.core.domain.JobIdentifier) * * @throws IllegalArgumentException if the runtime information is null or * its name is null diff --git a/execution/src/main/java/org/springframework/batch/execution/facade/VolatileJobExecutionRegistry.java b/execution/src/main/java/org/springframework/batch/execution/facade/VolatileJobExecutionRegistry.java index 8561b20ca..cff2848f8 100644 --- a/execution/src/main/java/org/springframework/batch/execution/facade/VolatileJobExecutionRegistry.java +++ b/execution/src/main/java/org/springframework/batch/execution/facade/VolatileJobExecutionRegistry.java @@ -23,9 +23,9 @@ import java.util.Map; import java.util.Set; import org.springframework.batch.core.domain.JobExecution; +import org.springframework.batch.core.domain.JobIdentifier; import org.springframework.batch.core.domain.JobInstance; import org.springframework.batch.core.runtime.JobExecutionRegistry; -import org.springframework.batch.core.runtime.JobIdentifier; /** * Simple in-memory implementation of {@link JobExecutionRegistry}. diff --git a/execution/src/main/java/org/springframework/batch/execution/runtime/ScheduledJobIdentifier.java b/execution/src/main/java/org/springframework/batch/execution/runtime/ScheduledJobIdentifier.java index 49df08bf0..e2b2c7ac8 100644 --- a/execution/src/main/java/org/springframework/batch/execution/runtime/ScheduledJobIdentifier.java +++ b/execution/src/main/java/org/springframework/batch/execution/runtime/ScheduledJobIdentifier.java @@ -20,7 +20,7 @@ import java.util.Date; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; -import org.springframework.batch.core.runtime.JobIdentifier; +import org.springframework.batch.core.domain.JobIdentifier; import org.springframework.batch.core.runtime.SimpleJobIdentifier; public class ScheduledJobIdentifier extends SimpleJobIdentifier implements JobIdentifier { diff --git a/execution/src/main/java/org/springframework/batch/execution/runtime/ScheduledJobIdentifierFactory.java b/execution/src/main/java/org/springframework/batch/execution/runtime/ScheduledJobIdentifierFactory.java index 29f34886c..413289f99 100644 --- a/execution/src/main/java/org/springframework/batch/execution/runtime/ScheduledJobIdentifierFactory.java +++ b/execution/src/main/java/org/springframework/batch/execution/runtime/ScheduledJobIdentifierFactory.java @@ -18,7 +18,7 @@ package org.springframework.batch.execution.runtime; import java.util.Date; -import org.springframework.batch.core.runtime.JobIdentifier; +import org.springframework.batch.core.domain.JobIdentifier; import org.springframework.batch.core.runtime.JobIdentifierFactory; /** diff --git a/execution/src/main/java/org/springframework/batch/execution/scope/SimpleStepContext.java b/execution/src/main/java/org/springframework/batch/execution/scope/SimpleStepContext.java index 14ff81220..3d49ff6df 100644 --- a/execution/src/main/java/org/springframework/batch/execution/scope/SimpleStepContext.java +++ b/execution/src/main/java/org/springframework/batch/execution/scope/SimpleStepContext.java @@ -23,7 +23,7 @@ import java.util.List; import java.util.Map; import java.util.Set; -import org.springframework.batch.core.runtime.JobIdentifier; +import org.springframework.batch.core.domain.JobIdentifier; import org.springframework.batch.repeat.context.SynchronizedAttributeAccessor; /** diff --git a/execution/src/main/java/org/springframework/batch/execution/scope/StepContext.java b/execution/src/main/java/org/springframework/batch/execution/scope/StepContext.java index c448a71a0..bf555a120 100644 --- a/execution/src/main/java/org/springframework/batch/execution/scope/StepContext.java +++ b/execution/src/main/java/org/springframework/batch/execution/scope/StepContext.java @@ -15,7 +15,7 @@ */ package org.springframework.batch.execution.scope; -import org.springframework.batch.core.runtime.JobIdentifier; +import org.springframework.batch.core.domain.JobIdentifier; import org.springframework.core.AttributeAccessor; /** diff --git a/execution/src/main/java/org/springframework/batch/execution/step/simple/AbstractStepConfiguration.java b/execution/src/main/java/org/springframework/batch/execution/step/AbstractStepConfiguration.java similarity index 86% rename from execution/src/main/java/org/springframework/batch/execution/step/simple/AbstractStepConfiguration.java rename to execution/src/main/java/org/springframework/batch/execution/step/AbstractStepConfiguration.java index e2a97e640..412f0a0d1 100644 --- a/execution/src/main/java/org/springframework/batch/execution/step/simple/AbstractStepConfiguration.java +++ b/execution/src/main/java/org/springframework/batch/execution/step/AbstractStepConfiguration.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.batch.execution.step.simple; +package org.springframework.batch.execution.step; import org.springframework.batch.core.configuration.StepConfiguration; import org.springframework.batch.core.configuration.StepConfigurationSupport; @@ -33,8 +33,6 @@ public class AbstractStepConfiguration extends StepConfigurationSupport implemen private int skipLimit = 0; - private boolean saveRestartData = false; - private ExceptionHandler exceptionHandler; /** @@ -80,12 +78,4 @@ public class AbstractStepConfiguration extends StepConfigurationSupport implemen return skipLimit; } - public void setSaveRestartData(boolean saveRestartData) { - this.saveRestartData = saveRestartData; - } - - public boolean isSaveRestartData() { - return saveRestartData; - } - } \ No newline at end of file diff --git a/execution/src/main/java/org/springframework/batch/execution/step/ChunkOperationsStepConfiguration.java b/execution/src/main/java/org/springframework/batch/execution/step/ChunkOperationsStepConfiguration.java new file mode 100644 index 000000000..6378421d0 --- /dev/null +++ b/execution/src/main/java/org/springframework/batch/execution/step/ChunkOperationsStepConfiguration.java @@ -0,0 +1,68 @@ +/* + * Copyright 2006-2007 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.batch.execution.step; + +import org.springframework.batch.core.configuration.StepConfiguration; +import org.springframework.batch.core.tasklet.Tasklet; +import org.springframework.batch.repeat.RepeatOperations; + +/** + * {@link StepConfiguration} implementation that allows full configuration of + * the {@link RepeatOperations} that will be used in the chunk (inner loop). + * + * @author Lucas Ward + * @author Dave Syer + * + */ +public class ChunkOperationsStepConfiguration extends AbstractStepConfiguration implements RepeatOperationsHolder { + + // default StepExecutor is null + private RepeatOperations chunkOperations; + + public ChunkOperationsStepConfiguration() { + super(); + } + + public ChunkOperationsStepConfiguration(RepeatOperations repeatOperations) { + this(); + this.chunkOperations = repeatOperations; + } + + public ChunkOperationsStepConfiguration(Tasklet module) { + this(); + setTasklet(module); + } + + /** + * Public accessor for the chunkOperations property. + * + * @return the executor + */ + public RepeatOperations getChunkOperations() { + return chunkOperations; + } + + /** + * Public setter for the chunkOperations. + * + * @param chunkOperations the repeatOperations to set + */ + public void setChunkOperations(RepeatOperations chunkOperations) { + this.chunkOperations = chunkOperations; + } + +} diff --git a/execution/src/main/java/org/springframework/batch/execution/step/DefaultStepExecutorFactory.java b/execution/src/main/java/org/springframework/batch/execution/step/PrototypeBeanStepExecutorFactory.java similarity index 95% rename from execution/src/main/java/org/springframework/batch/execution/step/DefaultStepExecutorFactory.java rename to execution/src/main/java/org/springframework/batch/execution/step/PrototypeBeanStepExecutorFactory.java index a96b90f1c..8f7c47de5 100644 --- a/execution/src/main/java/org/springframework/batch/execution/step/DefaultStepExecutorFactory.java +++ b/execution/src/main/java/org/springframework/batch/execution/step/PrototypeBeanStepExecutorFactory.java @@ -18,7 +18,6 @@ package org.springframework.batch.execution.step; import org.springframework.batch.core.configuration.StepConfiguration; import org.springframework.batch.core.executor.StepExecutor; import org.springframework.batch.core.executor.StepExecutorFactory; -import org.springframework.batch.execution.step.simple.SimpleStepConfiguration; import org.springframework.batch.execution.step.simple.SimpleStepExecutor; import org.springframework.batch.repeat.RepeatOperations; import org.springframework.batch.repeat.policy.SimpleCompletionPolicy; @@ -42,7 +41,7 @@ import org.springframework.util.Assert; * @author Dave Syer * */ -public class DefaultStepExecutorFactory implements StepExecutorFactory, +public class PrototypeBeanStepExecutorFactory implements StepExecutorFactory, BeanFactoryAware, InitializingBean { private String stepExecutorName = null; diff --git a/execution/src/main/java/org/springframework/batch/execution/step/SimpleStepConfiguration.java b/execution/src/main/java/org/springframework/batch/execution/step/SimpleStepConfiguration.java new file mode 100644 index 000000000..ed04388f2 --- /dev/null +++ b/execution/src/main/java/org/springframework/batch/execution/step/SimpleStepConfiguration.java @@ -0,0 +1,56 @@ +/* + * Copyright 2006-2007 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.batch.execution.step; + +import org.springframework.batch.core.configuration.StepConfiguration; +import org.springframework.batch.core.tasklet.Tasklet; + +/** + * Simple {@link StepConfiguration} good enough for most purposes and easy to + * configure simple properties, principally the commit interval. + * + * @author Lucas Ward + * @author Dave Syer + * + */ +public class SimpleStepConfiguration extends AbstractStepConfiguration { + + // default commit interval is one + private int commitInterval = 1; + + public SimpleStepConfiguration() { + super(); + } + + public SimpleStepConfiguration(String name) { + super(name); + } + + public SimpleStepConfiguration(Tasklet module) { + this(); + setTasklet(module); + } + + public void setCommitInterval(int commitInterval) { + this.commitInterval = commitInterval; + } + + public int getCommitInterval() { + return commitInterval; + } + +} diff --git a/execution/src/main/java/org/springframework/batch/execution/step/SimpleStepExecutorFactory.java b/execution/src/main/java/org/springframework/batch/execution/step/SimpleStepExecutorFactory.java index d2540926b..27df2be31 100644 --- a/execution/src/main/java/org/springframework/batch/execution/step/SimpleStepExecutorFactory.java +++ b/execution/src/main/java/org/springframework/batch/execution/step/SimpleStepExecutorFactory.java @@ -19,7 +19,6 @@ import org.springframework.batch.core.configuration.StepConfiguration; import org.springframework.batch.core.executor.StepExecutor; import org.springframework.batch.core.executor.StepExecutorFactory; import org.springframework.batch.core.repository.JobRepository; -import org.springframework.batch.execution.step.simple.SimpleStepConfiguration; import org.springframework.batch.execution.step.simple.SimpleStepExecutor; import org.springframework.batch.repeat.RepeatOperations; import org.springframework.batch.repeat.policy.SimpleCompletionPolicy; diff --git a/execution/src/main/java/org/springframework/batch/execution/step/simple/SimpleStepExecutor.java b/execution/src/main/java/org/springframework/batch/execution/step/simple/SimpleStepExecutor.java index 573eb4bfd..a1b8207c2 100644 --- a/execution/src/main/java/org/springframework/batch/execution/step/simple/SimpleStepExecutor.java +++ b/execution/src/main/java/org/springframework/batch/execution/step/simple/SimpleStepExecutor.java @@ -166,7 +166,7 @@ public class SimpleStepExecutor implements StepExecutor { stepExecution.setStartTime(new Timestamp(System.currentTimeMillis())); updateStatus(stepExecution, BatchStatus.STARTED); - final boolean saveRestartData = ((AbstractStepConfiguration) configuration).isSaveRestartData(); + final boolean saveRestartData = configuration.isSaveRestartData(); if (saveRestartData && isRestart) { restoreFromRestartData(module, step.getRestartData()); diff --git a/execution/src/test/java/org/springframework/batch/execution/bootstrap/SimpleJobLauncherTests.java b/execution/src/test/java/org/springframework/batch/execution/bootstrap/SimpleJobLauncherTests.java index ee501038f..60cbe6371 100644 --- a/execution/src/test/java/org/springframework/batch/execution/bootstrap/SimpleJobLauncherTests.java +++ b/execution/src/test/java/org/springframework/batch/execution/bootstrap/SimpleJobLauncherTests.java @@ -20,7 +20,7 @@ import junit.framework.TestCase; import org.springframework.batch.core.configuration.JobConfiguration; import org.springframework.batch.core.configuration.NoSuchJobConfigurationException; -import org.springframework.batch.core.runtime.JobIdentifier; +import org.springframework.batch.core.domain.JobIdentifier; import org.springframework.batch.core.runtime.SimpleJobIdentifierFactory; import org.springframework.batch.execution.facade.JobExecutorFacade; import org.springframework.batch.repeat.ExitStatus; diff --git a/execution/src/test/java/org/springframework/batch/execution/bootstrap/TaskExecutorJobLauncherTests.java b/execution/src/test/java/org/springframework/batch/execution/bootstrap/TaskExecutorJobLauncherTests.java index 307f5ea9e..9835db96e 100644 --- a/execution/src/test/java/org/springframework/batch/execution/bootstrap/TaskExecutorJobLauncherTests.java +++ b/execution/src/test/java/org/springframework/batch/execution/bootstrap/TaskExecutorJobLauncherTests.java @@ -27,7 +27,7 @@ import junit.framework.TestCase; import org.easymock.MockControl; import org.springframework.batch.core.configuration.JobConfiguration; import org.springframework.batch.core.configuration.NoSuchJobConfigurationException; -import org.springframework.batch.core.runtime.JobIdentifier; +import org.springframework.batch.core.domain.JobIdentifier; import org.springframework.batch.core.runtime.SimpleJobIdentifier; import org.springframework.batch.core.runtime.SimpleJobIdentifierFactory; import org.springframework.batch.execution.facade.JobExecutorFacade; diff --git a/execution/src/test/java/org/springframework/batch/execution/bootstrap/support/StubJobLauncher.java b/execution/src/test/java/org/springframework/batch/execution/bootstrap/support/StubJobLauncher.java index 256168cab..890e98ff6 100644 --- a/execution/src/test/java/org/springframework/batch/execution/bootstrap/support/StubJobLauncher.java +++ b/execution/src/test/java/org/springframework/batch/execution/bootstrap/support/StubJobLauncher.java @@ -1,7 +1,7 @@ package org.springframework.batch.execution.bootstrap.support; import org.springframework.batch.core.configuration.NoSuchJobConfigurationException; -import org.springframework.batch.core.runtime.JobIdentifier; +import org.springframework.batch.core.domain.JobIdentifier; import org.springframework.batch.execution.bootstrap.JobLauncher; import org.springframework.batch.repeat.ExitStatus; diff --git a/execution/src/test/java/org/springframework/batch/execution/facade/SimpleJobTests.java b/execution/src/test/java/org/springframework/batch/execution/facade/SimpleJobTests.java index 19d7ee3f1..6f5e64daf 100644 --- a/execution/src/test/java/org/springframework/batch/execution/facade/SimpleJobTests.java +++ b/execution/src/test/java/org/springframework/batch/execution/facade/SimpleJobTests.java @@ -27,10 +27,10 @@ import org.springframework.batch.core.configuration.JobConfiguration; import org.springframework.batch.core.configuration.StepConfiguration; import org.springframework.batch.core.domain.BatchStatus; import org.springframework.batch.core.domain.JobExecution; +import org.springframework.batch.core.domain.JobIdentifier; import org.springframework.batch.core.domain.JobInstance; import org.springframework.batch.core.executor.StepExecutor; import org.springframework.batch.core.executor.StepExecutorFactory; -import org.springframework.batch.core.runtime.JobIdentifier; import org.springframework.batch.core.runtime.SimpleJobIdentifier; import org.springframework.batch.core.tasklet.Tasklet; import org.springframework.batch.execution.job.DefaultJobExecutor; @@ -38,8 +38,8 @@ import org.springframework.batch.execution.repository.SimpleJobRepository; import org.springframework.batch.execution.repository.dao.MapJobDao; import org.springframework.batch.execution.repository.dao.MapStepDao; import org.springframework.batch.execution.runtime.ScheduledJobIdentifierFactory; +import org.springframework.batch.execution.step.SimpleStepConfiguration; import org.springframework.batch.execution.step.simple.DefaultStepExecutor; -import org.springframework.batch.execution.step.simple.SimpleStepConfiguration; import org.springframework.batch.execution.tasklet.ItemProviderProcessTasklet; import org.springframework.batch.item.ItemProcessor; import org.springframework.batch.item.ItemProvider; diff --git a/execution/src/test/java/org/springframework/batch/execution/job/DefaultJobExecutorTests.java b/execution/src/test/java/org/springframework/batch/execution/job/DefaultJobExecutorTests.java index 7766df935..fbd619070 100644 --- a/execution/src/test/java/org/springframework/batch/execution/job/DefaultJobExecutorTests.java +++ b/execution/src/test/java/org/springframework/batch/execution/job/DefaultJobExecutorTests.java @@ -23,6 +23,7 @@ import junit.framework.TestCase; import org.springframework.batch.core.configuration.JobConfiguration; import org.springframework.batch.core.configuration.StepConfiguration; +import org.springframework.batch.core.configuration.StepConfigurationSupport; import org.springframework.batch.core.domain.BatchStatus; import org.springframework.batch.core.domain.JobExecution; import org.springframework.batch.core.domain.JobInstance; @@ -40,8 +41,7 @@ import org.springframework.batch.execution.repository.dao.JobDao; import org.springframework.batch.execution.repository.dao.MapJobDao; import org.springframework.batch.execution.repository.dao.MapStepDao; import org.springframework.batch.execution.repository.dao.StepDao; -import org.springframework.batch.execution.step.simple.AbstractStepConfiguration; -import org.springframework.batch.execution.step.simple.SimpleStepConfiguration; +import org.springframework.batch.execution.step.SimpleStepConfiguration; import org.springframework.batch.io.exception.BatchCriticalException; import org.springframework.batch.repeat.ExitStatus; @@ -89,9 +89,9 @@ public class DefaultJobExecutorTests extends TestCase { private StepExecution stepExecution2; - private AbstractStepConfiguration stepConfiguration1; + private StepConfigurationSupport stepConfiguration1; - private AbstractStepConfiguration stepConfiguration2; + private StepConfigurationSupport stepConfiguration2; private JobConfiguration jobConfiguration; diff --git a/execution/src/test/java/org/springframework/batch/execution/repository/dao/AbstractStepDaoTests.java b/execution/src/test/java/org/springframework/batch/execution/repository/dao/AbstractStepDaoTests.java index bf7fb16de..df00a5751 100644 --- a/execution/src/test/java/org/springframework/batch/execution/repository/dao/AbstractStepDaoTests.java +++ b/execution/src/test/java/org/springframework/batch/execution/repository/dao/AbstractStepDaoTests.java @@ -22,17 +22,15 @@ import java.util.Properties; import org.springframework.batch.core.domain.BatchStatus; import org.springframework.batch.core.domain.JobExecution; +import org.springframework.batch.core.domain.JobIdentifier; import org.springframework.batch.core.domain.JobInstance; import org.springframework.batch.core.domain.StepExecution; import org.springframework.batch.core.domain.StepInstance; import org.springframework.batch.core.executor.ExitCodeExceptionClassifier; -import org.springframework.batch.core.repository.NoSuchBatchDomainObjectException; -import org.springframework.batch.core.runtime.JobIdentifier; import org.springframework.batch.execution.runtime.ScheduledJobIdentifier; import org.springframework.batch.repeat.ExitStatus; import org.springframework.batch.restart.GenericRestartData; import org.springframework.batch.restart.RestartData; -import org.springframework.dao.IncorrectResultSizeDataAccessException; import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests; import org.springframework.util.ClassUtils; @@ -40,7 +38,7 @@ import org.springframework.util.ClassUtils; * Test for StepDao. Because it is very reasonable to assume that there is a * foreign key constraint on the JobId of a step, the JobDao is used to create * jobs, to have an id for creating steps. - * + * * @author Lucas Ward * @author Dave Syer */ @@ -51,11 +49,11 @@ public abstract class AbstractStepDaoTests extends AbstractTransactionalDataSour protected StepDao stepDao; protected JobInstance job; - + protected StepInstance step1; - + protected StepInstance step2; - + protected StepExecution stepExecution; protected JobExecution jobExecution; @@ -92,40 +90,29 @@ public abstract class AbstractStepDaoTests extends AbstractTransactionalDataSour stepExecution.setStartTime(new Timestamp(System.currentTimeMillis())); stepDao.save(stepExecution); } - + public void testVersionIsNotNullForStep() throws Exception { int version = jdbcTemplate.queryForInt("select version from BATCH_STEP where ID="+step1.getId()); assertEquals(0, version); } - + public void testVersionIsNotNullForStepExecution() throws Exception { int version = jdbcTemplate.queryForInt("select version from BATCH_STEP_EXECUTION where ID="+stepExecution.getId()); assertEquals(0, version); } - + public void testFindStepNull(){ - + StepInstance step = stepDao.findStep(job, "UnSavedStep"); assertNull(step); } - + public void testFindStep(){ - + StepInstance tempStep = stepDao.findStep(job, "TestStep1"); assertEquals(tempStep, step1); } - - public void testFindStepsWithSameId(){ - StepInstance duplicateStep = new StepInstance(step1.getId()); - stepDao.createStep(job, step1.getName()); - try{ - stepDao.findStep(job, step1.getName()); - fail(); - }catch(IncorrectResultSizeDataAccessException ex){ - //expected - } - } - + public void testFindSteps(){ List steps = stepDao.findSteps(job); @@ -133,31 +120,31 @@ public abstract class AbstractStepDaoTests extends AbstractTransactionalDataSour assertTrue(steps.contains(step1)); assertTrue(steps.contains(step2)); } - + public void testFindStepsNotSaved(){ - + //no steps are saved for given id, empty list should be returned List steps = stepDao.findSteps(new JobInstance(null, new Long(38922))); assertEquals(steps.size(), 0); } - + public void testCreateStep(){ - + StepInstance step3 = stepDao.createStep(job, "TestStep3"); StepInstance tempStep = stepDao.findStep(job, "TestStep3"); assertEquals(step3, tempStep); } - + public void testUpdateStepWithoutRestartData(){ - + step1.setStatus(BatchStatus.COMPLETED); stepDao.update(step1); StepInstance tempStep = stepDao.findStep(job, step1.getName()); assertEquals(tempStep, step1); } - + public void testUpdateStepWithRestartData(){ - + step1.setStatus(BatchStatus.COMPLETED); Properties data = new Properties(); data.setProperty("restart.key1", "restartData"); @@ -166,10 +153,10 @@ public abstract class AbstractStepDaoTests extends AbstractTransactionalDataSour stepDao.update(step1); StepInstance tempStep = stepDao.findStep(job, step1.getName()); assertEquals(tempStep, step1); - assertEquals(tempStep.getRestartData().getProperties().toString(), + assertEquals(tempStep.getRestartData().getProperties().toString(), restartData.getProperties().toString()); } - + public void testSaveStepExecution(){ StepExecution execution = new StepExecution(step2, jobExecution); @@ -188,9 +175,9 @@ public abstract class AbstractStepDaoTests extends AbstractTransactionalDataSour assertEquals(execution.getStatistics(), tempExecution.getStatistics()); assertEquals(execution.getExitStatus(), tempExecution.getExitStatus()); } - + public void testUpdateStepExecution(){ - + stepExecution.setStatus(BatchStatus.COMPLETED); stepExecution.setEndTime(new Timestamp(System.currentTimeMillis())); stepExecution.setCommitCount(5); @@ -204,7 +191,7 @@ public abstract class AbstractStepDaoTests extends AbstractTransactionalDataSour assertEquals(stepExecution, tempExecution); assertEquals(stepExecution.getExitStatus(), tempExecution.getExitStatus()); } - + public void testUpdateStepExecutionWithNullId(){ StepExecution stepExecution = new StepExecution(null, null); try{ @@ -214,15 +201,15 @@ public abstract class AbstractStepDaoTests extends AbstractTransactionalDataSour //expected } } - + public void testGetStepExecutionCountForNoExecutions(){ - + int executionCount = stepDao.getStepExecutionCount(step2.getId()); assertEquals(executionCount, 0); } public void testIncrementStepExecutionCount(){ - + assertEquals(1, stepDao.getStepExecutionCount(step1.getId())); StepExecution execution = new StepExecution(step1, new JobExecution(step1.getJob(), new Long(123))); stepDao.save(execution); diff --git a/execution/src/test/java/org/springframework/batch/execution/step/DefaultStepExecutorFactoryTests.java b/execution/src/test/java/org/springframework/batch/execution/step/DefaultStepExecutorFactoryTests.java index 34661a138..48dcd7cb0 100644 --- a/execution/src/test/java/org/springframework/batch/execution/step/DefaultStepExecutorFactoryTests.java +++ b/execution/src/test/java/org/springframework/batch/execution/step/DefaultStepExecutorFactoryTests.java @@ -21,7 +21,6 @@ import org.springframework.batch.core.configuration.StepConfiguration; import org.springframework.batch.core.configuration.StepConfigurationSupport; import org.springframework.batch.core.domain.StepExecution; import org.springframework.batch.core.executor.StepExecutor; -import org.springframework.batch.execution.step.simple.SimpleStepConfiguration; import org.springframework.batch.execution.step.simple.SimpleStepExecutor; import org.springframework.batch.io.exception.BatchCriticalException; import org.springframework.batch.repeat.ExitStatus; @@ -37,7 +36,7 @@ import org.springframework.context.support.StaticApplicationContext; */ public class DefaultStepExecutorFactoryTests extends TestCase { - private DefaultStepExecutorFactory factory = new DefaultStepExecutorFactory(); + private PrototypeBeanStepExecutorFactory factory = new PrototypeBeanStepExecutorFactory(); private StaticApplicationContext applicationContext = new StaticApplicationContext(); protected void setUp() throws Exception { diff --git a/execution/src/test/java/org/springframework/batch/execution/step/SimpleStepExecutorFactoryTests.java b/execution/src/test/java/org/springframework/batch/execution/step/SimpleStepExecutorFactoryTests.java index f0b73d505..229116113 100644 --- a/execution/src/test/java/org/springframework/batch/execution/step/SimpleStepExecutorFactoryTests.java +++ b/execution/src/test/java/org/springframework/batch/execution/step/SimpleStepExecutorFactoryTests.java @@ -19,7 +19,6 @@ import junit.framework.TestCase; import org.springframework.batch.core.configuration.StepConfigurationSupport; import org.springframework.batch.execution.step.simple.JobRepositorySupport; -import org.springframework.batch.execution.step.simple.SimpleStepConfiguration; /** * @author Dave Syer diff --git a/execution/src/test/java/org/springframework/batch/execution/step/simple/ChunkOperationsStepConfigurationTests.java b/execution/src/test/java/org/springframework/batch/execution/step/simple/ChunkOperationsStepConfigurationTests.java index 0342b5279..c0748099d 100644 --- a/execution/src/test/java/org/springframework/batch/execution/step/simple/ChunkOperationsStepConfigurationTests.java +++ b/execution/src/test/java/org/springframework/batch/execution/step/simple/ChunkOperationsStepConfigurationTests.java @@ -18,6 +18,7 @@ package org.springframework.batch.execution.step.simple; import junit.framework.TestCase; import org.springframework.batch.core.tasklet.Tasklet; +import org.springframework.batch.execution.step.ChunkOperationsStepConfiguration; import org.springframework.batch.repeat.ExitStatus; import org.springframework.batch.repeat.support.RepeatTemplate; @@ -30,7 +31,7 @@ public class ChunkOperationsStepConfigurationTests extends TestCase { ChunkOperationsStepConfiguration configuration = new ChunkOperationsStepConfiguration(); /** - * Test method for {@link org.springframework.batch.execution.step.simple.ChunkOperationsStepConfiguration#StepExecutorStepConfiguration(org.springframework.batch.core.executor.StepExecutor)}. + * Test method for {@link org.springframework.batch.execution.step.ChunkOperationsStepConfiguration#StepExecutorStepConfiguration(org.springframework.batch.core.executor.StepExecutor)}. */ public void testStepExecutorStepConfigurationRepeatOperations() { RepeatTemplate executor = new RepeatTemplate(); @@ -39,7 +40,7 @@ public class ChunkOperationsStepConfigurationTests extends TestCase { } /** - * Test method for {@link org.springframework.batch.execution.step.simple.ChunkOperationsStepConfiguration#StepExecutorStepConfiguration(org.springframework.batch.core.tasklet.Tasklet)}. + * Test method for {@link org.springframework.batch.execution.step.ChunkOperationsStepConfiguration#StepExecutorStepConfiguration(org.springframework.batch.core.tasklet.Tasklet)}. */ public void testStepExecutorStepConfigurationTasklet() { Tasklet tasklet = new Tasklet() { @@ -52,7 +53,7 @@ public class ChunkOperationsStepConfigurationTests extends TestCase { } /** - * Test method for {@link org.springframework.batch.execution.step.simple.ChunkOperationsStepConfiguration#getChunkOperations()}. + * Test method for {@link org.springframework.batch.execution.step.ChunkOperationsStepConfiguration#getChunkOperations()}. */ public void testGetExecutor() { assertNull(configuration.getChunkOperations()); diff --git a/execution/src/test/java/org/springframework/batch/execution/step/simple/DefaultStepExecutorTests.java b/execution/src/test/java/org/springframework/batch/execution/step/simple/DefaultStepExecutorTests.java index 05c878ad1..7a3ffb8c3 100644 --- a/execution/src/test/java/org/springframework/batch/execution/step/simple/DefaultStepExecutorTests.java +++ b/execution/src/test/java/org/springframework/batch/execution/step/simple/DefaultStepExecutorTests.java @@ -21,6 +21,7 @@ import java.util.Arrays; import junit.framework.TestCase; +import org.springframework.batch.core.configuration.StepConfigurationSupport; import org.springframework.batch.core.domain.JobExecution; import org.springframework.batch.core.domain.JobInstance; import org.springframework.batch.core.domain.StepExecution; @@ -32,6 +33,7 @@ import org.springframework.batch.execution.repository.SimpleJobRepository; import org.springframework.batch.execution.repository.dao.MapJobDao; import org.springframework.batch.execution.repository.dao.MapStepDao; import org.springframework.batch.execution.scope.StepSynchronizationManager; +import org.springframework.batch.execution.step.SimpleStepConfiguration; import org.springframework.batch.execution.tasklet.ItemProviderProcessTasklet; import org.springframework.batch.item.ItemProcessor; import org.springframework.batch.item.ItemProvider; @@ -54,7 +56,7 @@ public class DefaultStepExecutorTests extends TestCase { private DefaultStepExecutor stepExecutor; - private AbstractStepConfiguration stepConfiguration; + private StepConfigurationSupport stepConfiguration; private ItemProvider getProvider(String[] args) { return new ListItemProvider(Arrays.asList(args)); diff --git a/execution/src/test/java/org/springframework/batch/execution/step/simple/JobRepositorySupport.java b/execution/src/test/java/org/springframework/batch/execution/step/simple/JobRepositorySupport.java index a471fc140..51562f2fe 100644 --- a/execution/src/test/java/org/springframework/batch/execution/step/simple/JobRepositorySupport.java +++ b/execution/src/test/java/org/springframework/batch/execution/step/simple/JobRepositorySupport.java @@ -17,11 +17,11 @@ package org.springframework.batch.execution.step.simple; import org.springframework.batch.core.configuration.JobConfiguration; import org.springframework.batch.core.domain.JobExecution; +import org.springframework.batch.core.domain.JobIdentifier; import org.springframework.batch.core.domain.JobInstance; import org.springframework.batch.core.domain.StepExecution; import org.springframework.batch.core.domain.StepInstance; import org.springframework.batch.core.repository.JobRepository; -import org.springframework.batch.core.runtime.JobIdentifier; /** * @author Dave Syer diff --git a/execution/src/test/java/org/springframework/batch/execution/step/simple/SimpleStepConfigurationTests.java b/execution/src/test/java/org/springframework/batch/execution/step/simple/SimpleStepConfigurationTests.java index 1ae302a18..ef23843b6 100644 --- a/execution/src/test/java/org/springframework/batch/execution/step/simple/SimpleStepConfigurationTests.java +++ b/execution/src/test/java/org/springframework/batch/execution/step/simple/SimpleStepConfigurationTests.java @@ -18,6 +18,7 @@ package org.springframework.batch.execution.step.simple; import junit.framework.TestCase; import org.springframework.batch.core.tasklet.Tasklet; +import org.springframework.batch.execution.step.SimpleStepConfiguration; import org.springframework.batch.repeat.ExitStatus; import org.springframework.batch.repeat.exception.handler.DefaultExceptionHandler; @@ -30,7 +31,7 @@ public class SimpleStepConfigurationTests extends TestCase { SimpleStepConfiguration configuration = new SimpleStepConfiguration("foo"); /** - * Test method for {@link org.springframework.batch.execution.step.simple.SimpleStepConfiguration#SimpleStepConfiguration()}. + * Test method for {@link org.springframework.batch.execution.step.SimpleStepConfiguration#SimpleStepConfiguration()}. */ public void testSimpleStepConfiguration() { assertNotNull(configuration.getName()); @@ -39,7 +40,7 @@ public class SimpleStepConfigurationTests extends TestCase { } /** - * Test method for {@link org.springframework.batch.execution.step.simple.SimpleStepConfiguration#SimpleStepConfiguration(org.springframework.batch.core.tasklet.Tasklet)}. + * Test method for {@link org.springframework.batch.execution.step.SimpleStepConfiguration#SimpleStepConfiguration(org.springframework.batch.core.tasklet.Tasklet)}. */ public void testSimpleStepConfigurationTasklet() { Tasklet tasklet = new Tasklet() { @@ -52,7 +53,7 @@ public class SimpleStepConfigurationTests extends TestCase { } /** - * Test method for {@link org.springframework.batch.execution.step.simple.SimpleStepConfiguration#getCommitInterval()}. + * Test method for {@link org.springframework.batch.execution.step.SimpleStepConfiguration#getCommitInterval()}. */ public void testGetCommitInterval() { assertEquals(1, configuration.getCommitInterval()); @@ -61,7 +62,7 @@ public class SimpleStepConfigurationTests extends TestCase { } /** - * Test method for {@link org.springframework.batch.execution.step.simple.AbstractStepConfiguration#setBeanName(java.lang.String)}. + * Test method for {@link org.springframework.batch.execution.step.AbstractStepConfiguration#setBeanName(java.lang.String)}. */ public void testSetBeanName() { configuration.setBeanName("bar"); @@ -69,7 +70,7 @@ public class SimpleStepConfigurationTests extends TestCase { } /** - * Test method for {@link org.springframework.batch.execution.step.simple.AbstractStepConfiguration#setBeanName(java.lang.String)}. + * Test method for {@link org.springframework.batch.execution.step.AbstractStepConfiguration#setBeanName(java.lang.String)}. */ public void testSetBeanNameOverrideNull() { configuration = new SimpleStepConfiguration(); @@ -78,7 +79,7 @@ public class SimpleStepConfigurationTests extends TestCase { } /** - * Test method for {@link org.springframework.batch.execution.step.simple.AbstractStepConfiguration#getExceptionHandler()}. + * Test method for {@link org.springframework.batch.execution.step.AbstractStepConfiguration#getExceptionHandler()}. */ public void testGetExceptionHandler() { assertNull(configuration.getExceptionHandler()); @@ -87,7 +88,7 @@ public class SimpleStepConfigurationTests extends TestCase { } /** - * Test method for {@link org.springframework.batch.execution.step.simple.AbstractStepConfiguration#getSkipLimit()}. + * Test method for {@link org.springframework.batch.execution.step.AbstractStepConfiguration#getSkipLimit()}. */ public void testGetSkipLimit() { assertEquals(0, configuration.getSkipLimit()); @@ -96,7 +97,7 @@ public class SimpleStepConfigurationTests extends TestCase { } /** - * Test method for {@link org.springframework.batch.execution.step.simple.AbstractStepConfiguration#isSaveRestartData()}. + * Test method for {@link org.springframework.batch.execution.step.AbstractStepConfiguration#isSaveRestartData()}. */ public void testIsSaveRestartData() { assertEquals(false, configuration.isSaveRestartData()); diff --git a/execution/src/test/java/org/springframework/batch/execution/step/simple/StepExecutorInterruptionTests.java b/execution/src/test/java/org/springframework/batch/execution/step/simple/StepExecutorInterruptionTests.java index 4c73592b0..871e2ebe0 100644 --- a/execution/src/test/java/org/springframework/batch/execution/step/simple/StepExecutorInterruptionTests.java +++ b/execution/src/test/java/org/springframework/batch/execution/step/simple/StepExecutorInterruptionTests.java @@ -21,14 +21,15 @@ import java.util.List; import junit.framework.TestCase; import org.springframework.batch.core.configuration.JobConfiguration; +import org.springframework.batch.core.configuration.StepConfigurationSupport; import org.springframework.batch.core.domain.BatchStatus; import org.springframework.batch.core.domain.JobExecution; +import org.springframework.batch.core.domain.JobIdentifier; import org.springframework.batch.core.domain.JobInstance; import org.springframework.batch.core.domain.StepExecution; import org.springframework.batch.core.domain.StepInstance; import org.springframework.batch.core.executor.StepInterruptedException; import org.springframework.batch.core.repository.JobRepository; -import org.springframework.batch.core.runtime.JobIdentifier; import org.springframework.batch.core.runtime.SimpleJobIdentifier; import org.springframework.batch.core.tasklet.Tasklet; import org.springframework.batch.execution.repository.SimpleJobRepository; @@ -36,6 +37,7 @@ import org.springframework.batch.execution.repository.dao.JobDao; import org.springframework.batch.execution.repository.dao.MapJobDao; import org.springframework.batch.execution.repository.dao.MapStepDao; import org.springframework.batch.execution.repository.dao.StepDao; +import org.springframework.batch.execution.step.SimpleStepConfiguration; import org.springframework.batch.repeat.ExitStatus; import org.springframework.batch.repeat.policy.SimpleCompletionPolicy; import org.springframework.batch.repeat.support.RepeatTemplate; @@ -50,7 +52,7 @@ public class StepExecutorInterruptionTests extends TestCase { private JobInstance job; - private AbstractStepConfiguration stepConfiguration; + private StepConfigurationSupport stepConfiguration; private SimpleStepExecutor executor; diff --git a/execution/src/test/resources/job-configuration.xml b/execution/src/test/resources/job-configuration.xml index d06040560..dcea4a600 100644 --- a/execution/src/test/resources/job-configuration.xml +++ b/execution/src/test/resources/job-configuration.xml @@ -14,7 +14,7 @@ - + diff --git a/execution/src/test/resources/simple-container-definition.xml b/execution/src/test/resources/simple-container-definition.xml index 5367997ac..b616cd4ac 100644 --- a/execution/src/test/resources/simple-container-definition.xml +++ b/execution/src/test/resources/simple-container-definition.xml @@ -32,7 +32,7 @@ + class="org.springframework.batch.execution.step.PrototypeBeanStepExecutorFactory"> @@ -45,7 +45,7 @@