diff --git a/spring-batch-core/.springBeans b/spring-batch-core/.springBeans index 35d8dd4a0..681fc42dc 100644 --- a/spring-batch-core/.springBeans +++ b/spring-batch-core/.springBeans @@ -12,7 +12,6 @@ src/test/resources/org/springframework/batch/core/launch/support/test-environment.xml src/test/resources/org/springframework/batch/core/launch/support/2jobs.xml src/test/resources/org/springframework/batch/core/repository/dao/data-source-context.xml - src/test/resources/org/springframework/batch/core/launch/support/job-with-environment.xml src/test/resources/org/springframework/batch/core/launch/support/job2.xml src/test/resources/org/springframework/batch/core/repository/dao/sql-dao-test.xml src/test/resources/org/springframework/batch/core/launch/support/test-environment-with-registry.xml 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 df8e97ecd..ad6fa5406 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 javax.print.attribute.standard.JobName; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.batch.core.Job; @@ -79,6 +81,10 @@ public class ClassPathXmlJobRegistry implements ListableJobRegistry, Application jobRegistry.register(jobFactory); } } + + if (jobRegistry.getJobNames().isEmpty()) { + throw new NoSuchJobException("Could not locate any jobs in resources provided."); + } } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistryContextTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistryContextTests.java index 239962c8f..b45cac070 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistryContextTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistryContextTests.java @@ -29,7 +29,7 @@ public class ClassPathXmlJobRegistryContextTests { public void testLocateJob() throws Exception{ Collection names = registry.getJobNames(); - assertEquals(1, names.size()); + assertEquals(2, names.size()); assertTrue(names.contains("test-job")); Job job = registry.getJob("test-job"); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistryTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistryTests.java index aa9415bde..9f0509a5d 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistryTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistryTests.java @@ -7,7 +7,6 @@ import java.util.Collection; import org.junit.Test; import org.springframework.batch.core.Job; -import org.springframework.batch.core.configuration.DuplicateJobException; import org.springframework.batch.core.launch.NoSuchJobException; import org.springframework.context.support.GenericApplicationContext; import org.springframework.core.io.ClassPathResource; @@ -59,7 +58,7 @@ public class ClassPathXmlJobRegistryTests { registry.afterPropertiesSet(); } - @Test(expected = DuplicateJobException.class) + @Test public void testDuplicateJobsInFile() throws Exception { Resource[] jobPaths = new Resource[] { new ClassPathResource( @@ -69,5 +68,6 @@ public class ClassPathXmlJobRegistryTests { applicationContext.refresh(); registry.setApplicationContext(applicationContext); registry.afterPropertiesSet(); + assertEquals(2, registry.getJobNames().size()); } } 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 b14774bfc..7f32347af 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 @@ -50,7 +50,7 @@ import org.springframework.util.ClassUtils; public class CommandLineJobRunnerTests { private String jobPath = ClassUtils.addResourcePathToPackagePath(CommandLineJobRunnerTests.class, - "job-with-environment.xml"); + "launcher-with-environment.xml"); private String jobName = "test-job"; diff --git a/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistryContextTests-context.xml b/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistryContextTests-context.xml index 5ca45f129..1c3eabbf3 100644 --- a/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistryContextTests-context.xml +++ b/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/support/ClassPathXmlJobRegistryContextTests-context.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> - + diff --git a/spring-batch-core/src/test/resources/org/springframework/batch/core/launch/support/job-with-environment.xml b/spring-batch-core/src/test/resources/org/springframework/batch/core/launch/support/launcher-with-environment.xml similarity index 100% rename from spring-batch-core/src/test/resources/org/springframework/batch/core/launch/support/job-with-environment.xml rename to spring-batch-core/src/test/resources/org/springframework/batch/core/launch/support/launcher-with-environment.xml