From 8dd4231055215d3d63d88f227b7481e26cdb7c41 Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Thu, 2 Sep 2010 19:39:55 +0000 Subject: [PATCH] INT-1409 added support for 'send-timeout' on elements --- .../integration/config/xml/BridgeParser.java | 6 ++++-- .../config/xml/spring-integration-1.0.xsd | 1 + .../config/xml/BridgeParserTests-context.xml | 1 + .../config/xml/BridgeParserTests.java | 18 +++++++++++++++++- 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/BridgeParser.java b/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/BridgeParser.java index ad2a01d0c4..7329727968 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/BridgeParser.java +++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/BridgeParser.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2008 the original author or authors. + * Copyright 2002-2010 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. @@ -30,8 +30,10 @@ public class BridgeParser extends AbstractConsumerEndpointParser { @Override protected BeanDefinitionBuilder parseHandler(Element element, ParserContext parserContext) { - return BeanDefinitionBuilder.genericBeanDefinition( + BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition( IntegrationNamespaceUtils.BASE_PACKAGE + ".handler.BridgeHandler"); + IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "send-timeout"); + return builder; } } diff --git a/org.springframework.integration/src/main/resources/org/springframework/integration/config/xml/spring-integration-1.0.xsd b/org.springframework.integration/src/main/resources/org/springframework/integration/config/xml/spring-integration-1.0.xsd index 93c462881a..a37d160e27 100644 --- a/org.springframework.integration/src/main/resources/org/springframework/integration/config/xml/spring-integration-1.0.xsd +++ b/org.springframework.integration/src/main/resources/org/springframework/integration/config/xml/spring-integration-1.0.xsd @@ -659,6 +659,7 @@ + diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/config/xml/BridgeParserTests-context.xml b/org.springframework.integration/src/test/java/org/springframework/integration/config/xml/BridgeParserTests-context.xml index 4726dfa9a7..e7c6ed5732 100644 --- a/org.springframework.integration/src/test/java/org/springframework/integration/config/xml/BridgeParserTests-context.xml +++ b/org.springframework.integration/src/test/java/org/springframework/integration/config/xml/BridgeParserTests-context.xml @@ -34,5 +34,6 @@ + diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/config/xml/BridgeParserTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/config/xml/BridgeParserTests.java index de698ef91b..753b60312b 100644 --- a/org.springframework.integration/src/test/java/org/springframework/integration/config/xml/BridgeParserTests.java +++ b/org.springframework.integration/src/test/java/org/springframework/integration/config/xml/BridgeParserTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2008 the original author or authors. + * Copyright 2002-2010 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. @@ -20,13 +20,17 @@ import static org.junit.Assert.assertEquals; import org.junit.Test; +import org.springframework.beans.DirectFieldAccessor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.integration.channel.MessageChannelTemplate; import org.springframework.integration.channel.PollableChannel; import org.springframework.integration.channel.QueueChannel; import org.springframework.integration.core.Message; import org.springframework.integration.core.MessageChannel; import org.springframework.integration.core.MessagingException; +import org.springframework.integration.endpoint.EventDrivenConsumer; +import org.springframework.integration.handler.BridgeHandler; import org.springframework.integration.message.MessageBuilder; import org.springframework.integration.message.StringMessage; import org.springframework.test.context.ContextConfiguration; @@ -59,6 +63,11 @@ public class BridgeParserTests extends AbstractJUnit4SpringContextTests { @Qualifier("output2") private PollableChannel output2; + @Autowired + @Qualifier("bridgeWithSendTimeout") + private EventDrivenConsumer bridgeWithSendTimeout; + + @Test public void pollableChannel() { Message message = new StringMessage("test1"); @@ -90,4 +99,11 @@ public class BridgeParserTests extends AbstractJUnit4SpringContextTests { this.stopperChannel.send(message); } + @Test + public void bridgeWithSendTimeout() { + BridgeHandler handler = (BridgeHandler) new DirectFieldAccessor(bridgeWithSendTimeout).getPropertyValue("handler"); + MessageChannelTemplate template = (MessageChannelTemplate) new DirectFieldAccessor(handler).getPropertyValue("channelTemplate"); + assertEquals(new Long(1234), new DirectFieldAccessor(template).getPropertyValue("sendTimeout")); + } + }