diff --git a/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsChannelFactoryBean.java b/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsChannelFactoryBean.java index 3f4e2bb58f..12c583af38 100644 --- a/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsChannelFactoryBean.java +++ b/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsChannelFactoryBean.java @@ -43,6 +43,7 @@ import org.springframework.transaction.PlatformTransactionManager; import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; import org.springframework.util.ErrorHandler; +import org.springframework.util.StringUtils; /** * @author Mark Fisher @@ -71,7 +72,8 @@ public class JmsChannelFactoryBean extends AbstractFactoryBean + xmlns:context="http://www.springframework.org/schema/context" + xsi:schemaLocation="http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.0.xsd + http://www.springframework.org/schema/integration/jms http://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> + + @@ -56,5 +59,8 @@ + + + diff --git a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsChannelParserTests.java b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsChannelParserTests.java index f18f4645c1..ed5d255540 100644 --- a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsChannelParserTests.java +++ b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/JmsChannelParserTests.java @@ -38,6 +38,7 @@ import org.springframework.integration.channel.ChannelInterceptor; import org.springframework.integration.channel.interceptor.ChannelInterceptorAdapter; import org.springframework.integration.jms.PollableJmsChannel; import org.springframework.integration.jms.SubscribableJmsChannel; +import org.springframework.integration.test.util.TestUtils; import org.springframework.jms.core.JmsTemplate; import org.springframework.jms.listener.AbstractMessageListenerContainer; import org.springframework.jms.listener.DefaultMessageListenerContainer; @@ -69,7 +70,10 @@ public class JmsChannelParserTests { @Autowired private MessageChannel topicNameChannel; - + + @Autowired + private MessageChannel withPlaceholders; + @Autowired private MessageChannel topicNameWithResolverChannel; @@ -218,6 +222,14 @@ public class JmsChannelParserTests { JmsTemplate jmsTemplate = (JmsTemplate) accessor.getPropertyValue("jmsTemplate"); assertEquals("foo", jmsTemplate.getDefaultDestinationName()); } + + @Test + public void withPlaceholders() { + DefaultMessageListenerContainer container = TestUtils.getPropertyValue(withPlaceholders, "container", DefaultMessageListenerContainer.class); + System.out.println(container.getDestination()); + System.out.println(container.getConcurrentConsumers()); + System.out.println(container.getMaxConcurrentConsumers()); + } static class TestDestinationResolver implements DestinationResolver { diff --git a/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/channel.properties b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/channel.properties new file mode 100644 index 0000000000..a5f2767c3c --- /dev/null +++ b/spring-integration-jms/src/test/java/org/springframework/integration/jms/config/channel.properties @@ -0,0 +1,2 @@ +queue=testQueue +concurrency=5-25 \ No newline at end of file