From f78794f9004e0978d937401d24adeea62e107883 Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Thu, 2 Sep 2010 19:30:58 +0000 Subject: [PATCH] INT-1409 added proper support for the 'send-timeout' attribute on --- .../integration/config/xml/BridgeParser.java | 6 ++++-- .../config/xml/BridgeParserTests-context.xml | 1 + .../config/xml/BridgeParserTests.java | 16 ++++++++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/spring-integration-core/src/main/java/org/springframework/integration/config/xml/BridgeParser.java b/spring-integration-core/src/main/java/org/springframework/integration/config/xml/BridgeParser.java index ad2a01d0c4..7329727968 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/config/xml/BridgeParser.java +++ b/spring-integration-core/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/spring-integration-core/src/test/java/org/springframework/integration/config/xml/BridgeParserTests-context.xml b/spring-integration-core/src/test/java/org/springframework/integration/config/xml/BridgeParserTests-context.xml index aee679e7a1..1a1ca7d811 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/config/xml/BridgeParserTests-context.xml +++ b/spring-integration-core/src/test/java/org/springframework/integration/config/xml/BridgeParserTests-context.xml @@ -35,5 +35,6 @@ + diff --git a/spring-integration-core/src/test/java/org/springframework/integration/config/xml/BridgeParserTests.java b/spring-integration-core/src/test/java/org/springframework/integration/config/xml/BridgeParserTests.java index 7dc4c3465b..518058a094 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/config/xml/BridgeParserTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/config/xml/BridgeParserTests.java @@ -16,19 +16,24 @@ package org.springframework.integration.config.xml; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; import org.hamcrest.Factory; import org.hamcrest.Matcher; 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.Message; import org.springframework.integration.MessageChannel; import org.springframework.integration.MessagingException; import org.springframework.integration.channel.QueueChannel; +import org.springframework.integration.core.MessagingTemplate; import org.springframework.integration.core.PollableChannel; +import org.springframework.integration.endpoint.EventDrivenConsumer; +import org.springframework.integration.handler.BridgeHandler; import org.springframework.integration.message.GenericMessage; import org.springframework.integration.message.MessageMatcher; import org.springframework.integration.support.MessageBuilder; @@ -62,6 +67,10 @@ public class BridgeParserTests extends AbstractJUnit4SpringContextTests { @Qualifier("output2") private PollableChannel output2; + @Autowired + private EventDrivenConsumer bridgeWithSendTimeout; + + @Factory public static Matcher> sameExceptImmutableHeaders(Message expected) { return new MessageMatcher(expected); @@ -98,4 +107,11 @@ public class BridgeParserTests extends AbstractJUnit4SpringContextTests { this.stopperChannel.send(message); } + @Test + public void bridgeWithSendTimeout() { + BridgeHandler handler = (BridgeHandler) new DirectFieldAccessor(bridgeWithSendTimeout).getPropertyValue("handler"); + MessagingTemplate template = (MessagingTemplate) new DirectFieldAccessor(handler).getPropertyValue("messagingTemplate"); + assertEquals(new Long(1234), new DirectFieldAccessor(template).getPropertyValue("sendTimeout")); + } + }