From 0b0729edcc97292f98cbe7815f356f04a959a9da Mon Sep 17 00:00:00 2001 From: dsyer Date: Fri, 4 Sep 2009 13:05:15 +0000 Subject: [PATCH] BATCH-1392: Fixed in 2.0.x as well --- .../batch/core/configuration/xml/ChunkElementParser.java | 5 +++++ .../configuration/xml/StepParserStepFactoryBeanTests.java | 7 +++++++ .../batch/core/configuration/xml/StepParserTests.java | 2 ++ .../xml/StepParserTaskletAttributesTests-context.xml | 4 ++-- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/ChunkElementParser.java b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/ChunkElementParser.java index af809350b..b6e98a64d 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/ChunkElementParser.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/xml/ChunkElementParser.java @@ -122,6 +122,11 @@ public class ChunkElementParser { propertyValues.addPropertyValue("retryLimit", retryLimit); } + String throttleLimit = element.getAttribute("throttle-limit"); + if (StringUtils.hasText(throttleLimit)) { + propertyValues.addPropertyValue("throttleLimit", throttleLimit); + } + String cacheCapacity = element.getAttribute("cache-capacity"); if (StringUtils.hasText(cacheCapacity)) { propertyValues.addPropertyValue("cacheCapacity", cacheCapacity); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/xml/StepParserStepFactoryBeanTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/xml/StepParserStepFactoryBeanTests.java index 341d0d99d..4996bed53 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/xml/StepParserStepFactoryBeanTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/xml/StepParserStepFactoryBeanTests.java @@ -17,6 +17,7 @@ package org.springframework.batch.core.configuration.xml; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertEquals; import java.util.ArrayList; @@ -172,6 +173,7 @@ public class StepParserStepFactoryBeanTests { fb.setPropagation(Propagation.REQUIRED); fb.setChunkCompletionPolicy(new DummyCompletionPolicy()); fb.setTaskExecutor(new SyncTaskExecutor()); + fb.setThrottleLimit(10); fb.setItemReader(new DummyItemReader()); fb.setItemProcessor(new PassThroughItemProcessor()); fb.setItemWriter(new DummyItemWriter()); @@ -181,6 +183,8 @@ public class StepParserStepFactoryBeanTests { assertTrue(step instanceof TaskletStep); Object tasklet = ReflectionTestUtils.getField(step, "tasklet"); assertTrue(tasklet instanceof ChunkOrientedTasklet); + Object throttleLimit = ReflectionTestUtils.getField(ReflectionTestUtils.getField(step, "stepOperations"), "throttleLimit"); + assertEquals(new Integer(10), throttleLimit); } @Test @@ -195,6 +199,7 @@ public class StepParserStepFactoryBeanTests { fb.setListeners(new StepListener[] { new StepExecutionListenerSupport() }); fb.setChunkCompletionPolicy(new DummyCompletionPolicy()); fb.setTaskExecutor(new SyncTaskExecutor()); + fb.setThrottleLimit(10); fb.setItemReader(new DummyItemReader()); fb.setItemProcessor(new PassThroughItemProcessor()); fb.setItemWriter(new DummyItemWriter()); @@ -212,5 +217,7 @@ public class StepParserStepFactoryBeanTests { assertTrue(step instanceof TaskletStep); Object tasklet = ReflectionTestUtils.getField(step, "tasklet"); assertTrue(tasklet instanceof ChunkOrientedTasklet); + Object throttleLimit = ReflectionTestUtils.getField(ReflectionTestUtils.getField(step, "stepOperations"), "throttleLimit"); + assertEquals(new Integer(10), throttleLimit); } } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/xml/StepParserTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/xml/StepParserTests.java index af84a9a33..31faf8c23 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/xml/StepParserTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/configuration/xml/StepParserTests.java @@ -87,6 +87,8 @@ public class StepParserTests { .get(factoryName); TaskletStep bean = (TaskletStep) factory.getObject(); assertEquals("wrong start-limit:", 25, bean.getStartLimit()); + Object throttleLimit = ReflectionTestUtils.getField(factory, "throttleLimit"); + assertEquals(new Integer(10), throttleLimit); } @Test diff --git a/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/StepParserTaskletAttributesTests-context.xml b/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/StepParserTaskletAttributesTests-context.xml index 46e3eaea6..adb8f1fc1 100644 --- a/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/StepParserTaskletAttributesTests-context.xml +++ b/spring-batch-core/src/test/resources/org/springframework/batch/core/configuration/xml/StepParserTaskletAttributesTests-context.xml @@ -9,7 +9,7 @@ + task-executor="taskExecutor" throttle-limit="10"> @@ -53,4 +53,4 @@ - \ No newline at end of file +