From 6235fc5cf27a67f36fc68a90ceb7d72de0fadea5 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Tue, 9 Aug 2011 13:06:52 +0100 Subject: [PATCH] AMQP-186: add placeholder support to container parser --- .../amqp/rabbit/config/ListenerContainerParser.java | 13 ++++++++++--- .../amqp/rabbit/config/spring-rabbit-1.0.xsd | 7 +++++++ ...tenerContainerPlaceholderParserTests-context.xml | 3 ++- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/ListenerContainerParser.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/ListenerContainerParser.java index ed98036e..f4537e7c 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/ListenerContainerParser.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/ListenerContainerParser.java @@ -79,6 +79,8 @@ class ListenerContainerParser implements BeanDefinitionParser { private static final String PHASE_ATTRIBUTE = "phase"; + private static final String AUTO_STARTUP_ATTRIBUTE = "auto-startup"; + private static final String ADVICE_CHAIN_ATTRIBUTE = "advice-chain"; @@ -228,17 +230,17 @@ class ListenerContainerParser implements BeanDefinitionParser { String concurrency = containerEle.getAttribute(CONCURRENCY_ATTRIBUTE); if (StringUtils.hasText(concurrency)) { - containerDef.getPropertyValues().add("concurrentConsumers", concurrency); + containerDef.getPropertyValues().add("concurrentConsumers", new TypedStringValue(concurrency)); } String prefetch = containerEle.getAttribute(PREFETCH_ATTRIBUTE); if (StringUtils.hasText(prefetch)) { - containerDef.getPropertyValues().add("prefetchCount", new Integer(prefetch)); + containerDef.getPropertyValues().add("prefetchCount", new TypedStringValue(prefetch)); } String transactionSize = containerEle.getAttribute(TRANSACTION_SIZE_ATTRIBUTE); if (StringUtils.hasText(transactionSize)) { - containerDef.getPropertyValues().add("txSize", transactionSize); + containerDef.getPropertyValues().add("txSize", new TypedStringValue(transactionSize)); } String phase = containerEle.getAttribute(PHASE_ATTRIBUTE); @@ -246,6 +248,11 @@ class ListenerContainerParser implements BeanDefinitionParser { containerDef.getPropertyValues().add("phase", phase); } + String autoStartup = containerEle.getAttribute(AUTO_STARTUP_ATTRIBUTE); + if (StringUtils.hasText(autoStartup)) { + containerDef.getPropertyValues().add("autoStartup", new TypedStringValue(autoStartup)); + } + String adviceChain = containerEle.getAttribute(ADVICE_CHAIN_ATTRIBUTE); if (StringUtils.hasText(adviceChain)) { containerDef.getPropertyValues().add("adviceChain", new RuntimeBeanReference(adviceChain)); diff --git a/spring-rabbit/src/main/resources/org/springframework/amqp/rabbit/config/spring-rabbit-1.0.xsd b/spring-rabbit/src/main/resources/org/springframework/amqp/rabbit/config/spring-rabbit-1.0.xsd index 62eb0678..45430839 100644 --- a/spring-rabbit/src/main/resources/org/springframework/amqp/rabbit/config/spring-rabbit-1.0.xsd +++ b/spring-rabbit/src/main/resources/org/springframework/amqp/rabbit/config/spring-rabbit-1.0.xsd @@ -490,6 +490,13 @@ ]]> + + + + + 5 1 + false @@ -21,7 +22,7 @@ - +