From 622487c7d6c65e8310f03130a85cebc3f48aeec0 Mon Sep 17 00:00:00 2001 From: dsyer Date: Thu, 16 Jul 2009 08:37:15 +0000 Subject: [PATCH] Fix broken test --- .../support/ClassPathXmlJobRegistry.java | 18 +++++++++--------- .../support/CommandLineJobRunnerTests.java | 2 +- ...h-locator.xml => launcher-with-locator.xml} | 0 3 files changed, 10 insertions(+), 10 deletions(-) rename spring-batch-core/src/test/resources/org/springframework/batch/core/launch/support/{job-with-locator.xml => launcher-with-locator.xml} (100%) diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistry.java b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistry.java index 395411332..df8e97ecd 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistry.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistry.java @@ -20,6 +20,8 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.springframework.batch.core.Job; import org.springframework.batch.core.configuration.DuplicateJobException; import org.springframework.batch.core.configuration.JobFactory; @@ -40,6 +42,8 @@ import org.springframework.core.io.Resource; * @since 2.0 */ public class ClassPathXmlJobRegistry implements ListableJobRegistry, ApplicationContextAware, InitializingBean { + + private static Log logger = LogFactory.getLog(ClassPathXmlJobRegistry.class); private List jobPaths; @@ -68,16 +72,12 @@ public class ClassPathXmlJobRegistry implements ListableJobRegistry, Application ApplicationContext context = applicationContextFactory.createApplicationContext(); String[] names = context.getBeanNamesForType(Job.class); - if (names.length > 1) { - throw new DuplicateJobException("More than one Job found for resource: [" + resource + "]"); + for (String name : names) { + logger.debug("Registering job: "+name+" from context: "+resource); + ApplicationContextJobFactory jobFactory = new ApplicationContextJobFactory(applicationContextFactory, + name); + jobRegistry.register(jobFactory); } - else if (names.length == 0) { - throw new NoSuchJobException("No Jobs found in resource: [" + resource + "]"); - } - - ApplicationContextJobFactory jobFactory = new ApplicationContextJobFactory(applicationContextFactory, - names[0]); - jobRegistry.register(jobFactory); } } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/launch/support/CommandLineJobRunnerTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/launch/support/CommandLineJobRunnerTests.java index 63be98f18..b14774bfc 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/launch/support/CommandLineJobRunnerTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/launch/support/CommandLineJobRunnerTests.java @@ -79,7 +79,7 @@ public class CommandLineJobRunnerTests { @Test public void testWithJobLocator() { - jobPath = ClassUtils.addResourcePathToPackagePath(CommandLineJobRunnerTests.class, "job-with-locator.xml"); + jobPath = ClassUtils.addResourcePathToPackagePath(CommandLineJobRunnerTests.class, "launcher-with-locator.xml"); CommandLineJobRunner.main(new String[] { jobPath, jobName, jobKey }); assertTrue("Injected JobParametersConverter not used instead of default", StubJobParametersConverter.called); assertEquals(0, StubSystemExiter.getStatus()); diff --git a/spring-batch-core/src/test/resources/org/springframework/batch/core/launch/support/job-with-locator.xml b/spring-batch-core/src/test/resources/org/springframework/batch/core/launch/support/launcher-with-locator.xml similarity index 100% rename from spring-batch-core/src/test/resources/org/springframework/batch/core/launch/support/job-with-locator.xml rename to spring-batch-core/src/test/resources/org/springframework/batch/core/launch/support/launcher-with-locator.xml