diff --git a/spring-integration-amqp/src/main/java/org/springframework/integration/amqp/config/AbstractAmqpInboundAdapterParser.java b/spring-integration-amqp/src/main/java/org/springframework/integration/amqp/config/AbstractAmqpInboundAdapterParser.java index 94fea2a4bc..d5e3914ba2 100644 --- a/spring-integration-amqp/src/main/java/org/springframework/integration/amqp/config/AbstractAmqpInboundAdapterParser.java +++ b/spring-integration-amqp/src/main/java/org/springframework/integration/amqp/config/AbstractAmqpInboundAdapterParser.java @@ -101,6 +101,8 @@ abstract class AbstractAmqpInboundAdapterParser extends AbstractSingleBeanDefini IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element, "message-converter"); IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element, "header-mapper"); IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element, "error-channel"); + IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "auto-startup"); + IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "phase"); this.configureChannels(element, parserContext, builder); } diff --git a/spring-integration-amqp/src/main/resources/org/springframework/integration/amqp/config/spring-integration-amqp-2.1.xsd b/spring-integration-amqp/src/main/resources/org/springframework/integration/amqp/config/spring-integration-amqp-2.1.xsd index bd1e530ccb..552420bb75 100644 --- a/spring-integration-amqp/src/main/resources/org/springframework/integration/amqp/config/spring-integration-amqp-2.1.xsd +++ b/spring-integration-amqp/src/main/resources/org/springframework/integration/amqp/config/spring-integration-amqp-2.1.xsd @@ -379,6 +379,13 @@ + + + + + diff --git a/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/AmqpInboundChannelAdapterParserTests-context.xml b/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/AmqpInboundChannelAdapterParserTests-context.xml index 32cb37f5d0..31c3c05647 100644 --- a/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/AmqpInboundChannelAdapterParserTests-context.xml +++ b/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/AmqpInboundChannelAdapterParserTests-context.xml @@ -11,6 +11,9 @@ + + diff --git a/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/AmqpInboundChannelAdapterParserTests.java b/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/AmqpInboundChannelAdapterParserTests.java index d6ffd7749e..78c330f426 100644 --- a/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/AmqpInboundChannelAdapterParserTests.java +++ b/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/AmqpInboundChannelAdapterParserTests.java @@ -25,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.integration.amqp.inbound.AmqpInboundChannelAdapter; import org.springframework.integration.channel.DirectChannel; +import org.springframework.integration.test.util.TestUtils; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @@ -45,6 +46,14 @@ public class AmqpInboundChannelAdapterParserTests { Object adapter = context.getBean("rabbitInbound.adapter"); assertEquals(DirectChannel.class, channel.getClass()); assertEquals(AmqpInboundChannelAdapter.class, adapter.getClass()); + assertEquals(Boolean.TRUE, TestUtils.getPropertyValue(adapter, "autoStartup")); + assertEquals(0, TestUtils.getPropertyValue(adapter, "phase")); } + @Test + public void verifyLifeCycle() { + Object adapter = context.getBean("autoStartFalse.adapter"); + assertEquals(Boolean.FALSE, TestUtils.getPropertyValue(adapter, "autoStartup")); + assertEquals(123, TestUtils.getPropertyValue(adapter, "phase")); + } } diff --git a/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/AmqpInboundGatewayParserTests-context.xml b/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/AmqpInboundGatewayParserTests-context.xml index a8246faa01..338e7f9e7a 100644 --- a/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/AmqpInboundGatewayParserTests-context.xml +++ b/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/AmqpInboundGatewayParserTests-context.xml @@ -20,4 +20,8 @@ + + diff --git a/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/AmqpInboundGatewayParserTests.java b/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/AmqpInboundGatewayParserTests.java index 40b31187fa..3fb635a7ee 100644 --- a/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/AmqpInboundGatewayParserTests.java +++ b/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/AmqpInboundGatewayParserTests.java @@ -16,6 +16,7 @@ package org.springframework.integration.amqp.config; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertSame; import org.junit.Test; @@ -48,8 +49,16 @@ public class AmqpInboundGatewayParserTests { TestConverter testConverter = context.getBean("testConverter", TestConverter.class); assertSame(testConverter, gatewayConverter); assertSame(testConverter, templateConverter); + assertEquals(Boolean.TRUE, TestUtils.getPropertyValue(gateway, "autoStartup")); + assertEquals(0, TestUtils.getPropertyValue(gateway, "phase")); } + @Test + public void verifyLifeCycle() { + Object gateway = context.getBean("autoStartFalseGateway"); + assertEquals(Boolean.FALSE, TestUtils.getPropertyValue(gateway, "autoStartup")); + assertEquals(123, TestUtils.getPropertyValue(gateway, "phase")); + } private static class TestConverter extends SimpleMessageConverter {} diff --git a/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/GatewayEchoTests.java b/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/GatewayEchoTests.java index 6a9a168a10..2f7c8231ce 100644 --- a/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/GatewayEchoTests.java +++ b/spring-integration-amqp/src/test/java/org/springframework/integration/amqp/config/GatewayEchoTests.java @@ -16,6 +16,7 @@ package org.springframework.integration.amqp.config; +import org.junit.Test; import org.springframework.context.support.ClassPathXmlApplicationContext; /** @@ -28,4 +29,9 @@ public class GatewayEchoTests { new ClassPathXmlApplicationContext("GatewayEchoTests-context.xml", GatewayEchoTests.class); } + @Test + /** + * Dummy test to satisfy maven in some environments. + */ + public void test() {} }