BATCH-1474: fix registration error if job name is not the same as bean name

This commit is contained in:
dsyer
2010-01-04 17:47:29 +00:00
parent 52bc1f2347
commit 81d96cd63a
2 changed files with 52 additions and 7 deletions

View File

@@ -18,7 +18,11 @@ package org.springframework.batch.core.configuration.support;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.springframework.batch.core.Job;
import org.springframework.batch.core.JobExecution;
import org.springframework.batch.core.JobParametersIncrementer;
import org.springframework.batch.core.configuration.JobRegistry;
import org.springframework.core.io.ByteArrayResource;
import org.springframework.core.io.ClassPathResource;
/**
@@ -31,6 +35,16 @@ public class DefaultJobLoaderTests {
private DefaultJobLoader jobLoader = new DefaultJobLoader(registry);
@Test
public void testLoadWithExplicitName() throws Exception {
ClassPathXmlApplicationContextFactory factory = new ClassPathXmlApplicationContextFactory(
new ByteArrayResource(JOB_XML.getBytes()));
jobLoader.load(factory);
assertEquals(1, registry.getJobNames().size());
jobLoader.reload(factory);
assertEquals(1, registry.getJobNames().size());
}
@Test
public void testReload() throws Exception {
ClassPathXmlApplicationContextFactory factory = new ClassPathXmlApplicationContextFactory(
@@ -51,4 +65,29 @@ public class DefaultJobLoaderTests {
assertEquals(1, registry.getJobNames().size());
}
private static final String JOB_XML = String
.format(
"<beans xmlns='http://www.springframework.org/schema/beans' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' "
+ "xsi:schemaLocation='http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd'><bean class='%s$StubJob'/></beans>",
DefaultJobLoaderTests.class.getName());
public static class StubJob implements Job {
public void execute(JobExecution execution) {
}
public JobParametersIncrementer getJobParametersIncrementer() {
return null;
}
public String getName() {
return "job";
}
public boolean isRestartable() {
return false;
}
}
}