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"));
+ }
+
}