From 90465f9ce070b8085541a0ad54136241e98cfd21 Mon Sep 17 00:00:00 2001 From: dsyer Date: Mon, 2 Jun 2008 13:14:58 +0000 Subject: [PATCH] OPEN - issue BATCH-541: pull commit interval from the job parameters Move ClassPathXmlApplicationContextJobFactory implementation from samples to core. --- ...ssPathXmlApplicationContextJobFactory.java | 2 +- ...hXmlApplicationContextJobFactoryTests.java | 44 ++++++++++++++++++ .../sample/launch/TaskExecutorLauncher.java | 2 +- .../sample/quartz/QuartzBatchLauncher.java | 2 +- .../images/spring-batch-football-graph.jpg | Bin 0 -> 24525 bytes .../sample/dao/JdbcJobRepositoryTests.java | 2 +- 6 files changed, 48 insertions(+), 4 deletions(-) rename {spring-batch-samples/src/main/java/org/springframework/batch/sample => spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support}/ClassPathXmlApplicationContextJobFactory.java (98%) create mode 100644 spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ClassPathXmlApplicationContextJobFactoryTests.java create mode 100644 spring-batch-samples/src/site/resources/images/spring-batch-football-graph.jpg diff --git a/spring-batch-samples/src/main/java/org/springframework/batch/sample/ClassPathXmlApplicationContextJobFactory.java b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/ClassPathXmlApplicationContextJobFactory.java similarity index 98% rename from spring-batch-samples/src/main/java/org/springframework/batch/sample/ClassPathXmlApplicationContextJobFactory.java rename to spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/ClassPathXmlApplicationContextJobFactory.java index 40d18748a..b61633602 100644 --- a/spring-batch-samples/src/main/java/org/springframework/batch/sample/ClassPathXmlApplicationContextJobFactory.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/ClassPathXmlApplicationContextJobFactory.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.batch.sample; +package org.springframework.batch.core.configuration.support; import java.util.List; diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ClassPathXmlApplicationContextJobFactoryTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ClassPathXmlApplicationContextJobFactoryTests.java new file mode 100644 index 000000000..240e36c06 --- /dev/null +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/support/ClassPathXmlApplicationContextJobFactoryTests.java @@ -0,0 +1,44 @@ +/* + * 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.core.configuration.support; + +import org.springframework.util.ClassUtils; + +import junit.framework.TestCase; + +/** + * @author Dave Syer + * + */ +public class ClassPathXmlApplicationContextJobFactoryTests extends TestCase { + + private ClassPathXmlApplicationContextJobFactory factory = new ClassPathXmlApplicationContextJobFactory("test-job", ClassUtils.addResourcePathToPackagePath(getClass(), "test-context.xml"), null); + + /** + * Test method for {@link org.springframework.batch.core.configuration.support.ClassPathXmlApplicationContextJobFactory#createJob()}. + */ + public void testCreateJob() { + assertNotNull(factory.createJob()); + } + + /** + * Test method for {@link org.springframework.batch.core.configuration.support.ClassPathXmlApplicationContextJobFactory#getJobName()}. + */ + public void testGetJobName() { + assertEquals("test-job", factory.getJobName()); + } + +} diff --git a/spring-batch-samples/src/main/java/org/springframework/batch/sample/launch/TaskExecutorLauncher.java b/spring-batch-samples/src/main/java/org/springframework/batch/sample/launch/TaskExecutorLauncher.java index 5debb8525..40e2f2537 100644 --- a/spring-batch-samples/src/main/java/org/springframework/batch/sample/launch/TaskExecutorLauncher.java +++ b/spring-batch-samples/src/main/java/org/springframework/batch/sample/launch/TaskExecutorLauncher.java @@ -20,8 +20,8 @@ import java.util.List; import org.springframework.batch.core.Job; import org.springframework.batch.core.configuration.JobRegistry; +import org.springframework.batch.core.configuration.support.ClassPathXmlApplicationContextJobFactory; import org.springframework.batch.core.repository.DuplicateJobException; -import org.springframework.batch.sample.ClassPathXmlApplicationContextJobFactory; import org.springframework.beans.factory.config.AutowireCapableBeanFactory; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; diff --git a/spring-batch-samples/src/main/java/org/springframework/batch/sample/quartz/QuartzBatchLauncher.java b/spring-batch-samples/src/main/java/org/springframework/batch/sample/quartz/QuartzBatchLauncher.java index 28b9c0f4c..439f574b1 100644 --- a/spring-batch-samples/src/main/java/org/springframework/batch/sample/quartz/QuartzBatchLauncher.java +++ b/spring-batch-samples/src/main/java/org/springframework/batch/sample/quartz/QuartzBatchLauncher.java @@ -20,8 +20,8 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.batch.core.Job; import org.springframework.batch.core.configuration.JobRegistry; +import org.springframework.batch.core.configuration.support.ClassPathXmlApplicationContextJobFactory; import org.springframework.batch.core.repository.DuplicateJobException; -import org.springframework.batch.sample.ClassPathXmlApplicationContextJobFactory; import org.springframework.beans.factory.config.AutowireCapableBeanFactory; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; diff --git a/spring-batch-samples/src/site/resources/images/spring-batch-football-graph.jpg b/spring-batch-samples/src/site/resources/images/spring-batch-football-graph.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d8898c135c96cdd8cf70679d1b87a07b04191980 GIT binary patch literal 24525 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 literal 0 HcmV?d00001 diff --git a/spring-batch-samples/src/test/java/org/springframework/batch/sample/dao/JdbcJobRepositoryTests.java b/spring-batch-samples/src/test/java/org/springframework/batch/sample/dao/JdbcJobRepositoryTests.java index a5ccfbf3f..0b9e26e61 100644 --- a/spring-batch-samples/src/test/java/org/springframework/batch/sample/dao/JdbcJobRepositoryTests.java +++ b/spring-batch-samples/src/test/java/org/springframework/batch/sample/dao/JdbcJobRepositoryTests.java @@ -195,7 +195,7 @@ public class JdbcJobRepositoryTests extends AbstractTransactionalDataSourceSprin cacheJobIds(execution); int count = 0; - while (list.size() == 0 && count++ < 10) { + while (list.size() == 0 && count++ < 100) { Thread.sleep(200); }