From c602050df6420dde15194fe14f1012535a15573c Mon Sep 17 00:00:00 2001 From: Marius Bogoevici Date: Fri, 7 Mar 2008 06:18:23 +0000 Subject: [PATCH] Adds the 'timeout' attribute on (INT-139) --- .../integration/config/AggregatorParser.java | 6 +++++- .../config/spring-integration-core-1.0.xsd | 1 + .../integration/config/AggregatorParserTests.java | 2 ++ .../integration/config/aggregatorParserTests.xml | 11 ++++++----- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/spring-integration-core/src/main/java/org/springframework/integration/config/AggregatorParser.java b/spring-integration-core/src/main/java/org/springframework/integration/config/AggregatorParser.java index 96b430f9c0..2278c23cd4 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/config/AggregatorParser.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/config/AggregatorParser.java @@ -57,6 +57,8 @@ public class AggregatorParser implements BeanDefinitionParser { public static final String TRACKED_CORRELATION_ID_CAPACITY_ATTRIBUTE = "tracked-correlation-id-capacity"; + public static final String TIMEOUT_ATTRIBUTE = "timeout"; + private static final String COMPLETION_STRATEGY_PROPERTY = "completionStrategy"; private static final String DEFAULT_REPLY_CHANNEL_PROPERTY = "defaultReplyChannel"; @@ -71,12 +73,13 @@ public class AggregatorParser implements BeanDefinitionParser { public static final String TRACKED_CORRELATION_ID_CAPACITY_PROPERTY = "trackedCorrelationIdCapacity"; + public static final String TIMEOUT = "timeout"; + public BeanDefinition parse(Element element, ParserContext parserContext) { return parseAggregatorElement(element, parserContext, true); } - private BeanDefinition parseAggregatorElement(Element element, ParserContext parserContext, boolean topLevel) { final RootBeanDefinition aggregatorDef = new RootBeanDefinition(AggregatingMessageHandler.class); aggregatorDef.setSource(parserContext.extractSource(element)); @@ -116,6 +119,7 @@ public class AggregatorParser implements BeanDefinitionParser { REAPER_INTERVAL_ATTRIBUTE); IntegrationNamespaceUtils.setValueIfAttributeDefined(aggregatorDef, TRACKED_CORRELATION_ID_CAPACITY_PROPERTY, element, TRACKED_CORRELATION_ID_CAPACITY_ATTRIBUTE); + IntegrationNamespaceUtils.setValueIfAttributeDefined(aggregatorDef, TIMEOUT, element, TIMEOUT_ATTRIBUTE); String beanName = StringUtils.hasText(id) ? id : parserContext.getReaderContext().generateBeanName( aggregatorDef); parserContext.registerBeanComponent(new BeanComponentDefinition(aggregatorDef, beanName)); diff --git a/spring-integration-core/src/main/java/org/springframework/integration/config/spring-integration-core-1.0.xsd b/spring-integration-core/src/main/java/org/springframework/integration/config/spring-integration-core-1.0.xsd index 5975357374..371d1e3c8d 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/config/spring-integration-core-1.0.xsd +++ b/spring-integration-core/src/main/java/org/springframework/integration/config/spring-integration-core-1.0.xsd @@ -243,6 +243,7 @@ + diff --git a/spring-integration-core/src/test/java/org/springframework/integration/config/AggregatorParserTests.java b/spring-integration-core/src/test/java/org/springframework/integration/config/AggregatorParserTests.java index 7af5e824c4..afb6d62672 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/config/AggregatorParserTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/config/AggregatorParserTests.java @@ -99,6 +99,8 @@ public class AggregatorParserTests { Assert.assertEquals( "The AggregatingMessageHandler is not configured with the appropriate tracked correlationId capacity", 99, getPropertyValue(completeAggregatingMessageHandler, "trackedCorrelationIdCapacity", int.class)); + Assert.assertEquals("The AggregatingMessageHandler is not configured with the appropriate timeout", + 42l, getPropertyValue(completeAggregatingMessageHandler, "timeout", long.class)); } @Test diff --git a/spring-integration-core/src/test/java/org/springframework/integration/config/aggregatorParserTests.xml b/spring-integration-core/src/test/java/org/springframework/integration/config/aggregatorParserTests.xml index 76ecb3c554..49c6e08a6a 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/config/aggregatorParserTests.xml +++ b/spring-integration-core/src/test/java/org/springframework/integration/config/aggregatorParserTests.xml @@ -1,11 +1,11 @@ - + http://www.springframework.org/schema/integration/spring-integration-core-1.0.xsd"> @@ -17,7 +17,8 @@ send-timeout="86420000" send-partial-result-on-timeout="true" reaper-interval="135" - tracked-correlation-id-capacity="99"/> + tracked-correlation-id-capacity="99" + timeout="42"/> @@ -29,6 +30,6 @@ - +