diff --git a/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsMessageDrivenEndpointParser.java b/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsMessageDrivenEndpointParser.java index 98b669460d..bff5987386 100644 --- a/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsMessageDrivenEndpointParser.java +++ b/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsMessageDrivenEndpointParser.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2015 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. @@ -37,6 +37,7 @@ import org.springframework.util.StringUtils; * * @author Mark Fisher * @author Michael Bannister + * @author Gary Russell */ public class JmsMessageDrivenEndpointParser extends AbstractSingleBeanDefinitionParser { @@ -117,7 +118,7 @@ public class JmsMessageDrivenEndpointParser extends AbstractSingleBeanDefinition IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, IntegrationNamespaceUtils.AUTO_STARTUP); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, IntegrationNamespaceUtils.PHASE); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "acknowledge", "sessionAcknowledgeMode"); - + } private String parseMessageListenerContainer(Element element, ParserContext parserContext) { @@ -177,7 +178,8 @@ public class JmsMessageDrivenEndpointParser extends AbstractSingleBeanDefinition IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "idle-task-execution-limit"); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "cache-level"); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "subscription-durable"); - IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "durable-subscription-name"); + IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "durable-subscription-name", + "subscriptionName"); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "client-id"); builder.addPropertyValue("autoStartup", false); return BeanDefinitionReaderUtils.registerWithGeneratedName(builder.getBeanDefinition(), parserContext.getRegistry()); diff --git a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsMessageDrivenChannelAdapterParserTests.java b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsMessageDrivenChannelAdapterParserTests.java index 05bb0770f8..c458d1c7fe 100644 --- a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsMessageDrivenChannelAdapterParserTests.java +++ b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsMessageDrivenChannelAdapterParserTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 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. @@ -16,7 +16,11 @@ package org.springframework.integration.jms.config; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; import java.util.Properties; @@ -30,7 +34,6 @@ import org.springframework.integration.jms.JmsMessageDrivenEndpoint; import org.springframework.integration.test.util.TestUtils; import org.springframework.jms.listener.AbstractMessageListenerContainer; import org.springframework.jms.listener.DefaultMessageListenerContainer; -import org.springframework.jms.support.destination.JmsDestinationAccessor; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.PollableChannel; @@ -67,8 +70,10 @@ public class JmsMessageDrivenChannelAdapterParserTests { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "jmsInboundWithPubSubDomain.xml", this.getClass()); JmsMessageDrivenEndpoint endpoint = context.getBean("messageDrivenAdapter", JmsMessageDrivenEndpoint.class); - JmsDestinationAccessor container = (JmsDestinationAccessor) new DirectFieldAccessor(endpoint).getPropertyValue("listenerContainer"); + AbstractMessageListenerContainer container = (AbstractMessageListenerContainer) new DirectFieldAccessor(endpoint).getPropertyValue("listenerContainer"); assertEquals(Boolean.TRUE, container.isPubSubDomain()); + assertFalse(container.isSubscriptionDurable()); // INT-3680 + assertNull(container.getDurableSubscriptionName()); endpoint.stop(); context.close(); } diff --git a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/jmsInboundWithPubSubDomain.xml b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/jmsInboundWithPubSubDomain.xml index a9918886fe..66f8b070ea 100644 --- a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/jmsInboundWithPubSubDomain.xml +++ b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/jmsInboundWithPubSubDomain.xml @@ -17,7 +17,10 @@ + diff --git a/src/reference/docbook/preface.xml b/src/reference/docbook/preface.xml index e58be5ea5e..87bff89d6b 100644 --- a/src/reference/docbook/preface.xml +++ b/src/reference/docbook/preface.xml @@ -28,7 +28,7 @@ Spring Integration 4.1.x requires - Spring Framework 4.0.5 or + Spring Framework 4.1.4 or later.