diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/DirectExchangeParser.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/DirectExchangeParser.java index d00e01a8..d5629df5 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/DirectExchangeParser.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/DirectExchangeParser.java @@ -18,6 +18,7 @@ import java.util.Collections; import org.springframework.amqp.core.Binding; import org.springframework.amqp.core.Binding.DestinationType; import org.springframework.amqp.core.DirectExchange; +import org.springframework.beans.factory.config.TypedStringValue; import org.springframework.beans.factory.support.AbstractBeanDefinition; import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.xml.ParserContext; @@ -41,14 +42,14 @@ public class DirectExchangeParser extends AbstractExchangeParser { protected AbstractBeanDefinition parseBinding(String exchangeName, Element binding, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(Binding.class); - builder.addConstructorArgValue(binding.getAttribute(BINDING_QUEUE_ATTR)); + builder.addConstructorArgValue(new TypedStringValue(binding.getAttribute(BINDING_QUEUE_ATTR))); builder.addConstructorArgValue(DestinationType.EXCHANGE); - builder.addConstructorArgValue(exchangeName); + builder.addConstructorArgValue(new TypedStringValue(exchangeName)); String bindingKey = binding.getAttribute(BINDING_KEY_ATTR); if (!StringUtils.hasText(bindingKey)) { bindingKey = ""; } - builder.addConstructorArgValue(bindingKey); + builder.addConstructorArgValue(new TypedStringValue(bindingKey)); builder.addConstructorArgValue(Collections.emptyMap()); return builder.getBeanDefinition(); } diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/FanoutExchangeParser.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/FanoutExchangeParser.java index 12b33305..7e4dd989 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/FanoutExchangeParser.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/FanoutExchangeParser.java @@ -18,6 +18,7 @@ import java.util.Collections; import org.springframework.amqp.core.Binding; import org.springframework.amqp.core.Binding.DestinationType; import org.springframework.amqp.core.FanoutExchange; +import org.springframework.beans.factory.config.TypedStringValue; import org.springframework.beans.factory.support.AbstractBeanDefinition; import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.xml.ParserContext; @@ -37,9 +38,9 @@ public class FanoutExchangeParser extends AbstractExchangeParser { @Override protected AbstractBeanDefinition parseBinding(String exchangeName, Element binding, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(Binding.class); - builder.addConstructorArgValue(binding.getAttribute(BINDING_QUEUE_ATTR)); + builder.addConstructorArgValue(new TypedStringValue(binding.getAttribute(BINDING_QUEUE_ATTR))); builder.addConstructorArgValue(DestinationType.EXCHANGE); - builder.addConstructorArgValue(exchangeName); + builder.addConstructorArgValue(new TypedStringValue(exchangeName)); builder.addConstructorArgValue(""); builder.addConstructorArgValue(Collections.emptyMap()); return builder.getBeanDefinition(); diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/HeadersExchangeParser.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/HeadersExchangeParser.java index 4e4955dc..d7e059d9 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/HeadersExchangeParser.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/HeadersExchangeParser.java @@ -40,9 +40,9 @@ public class HeadersExchangeParser extends AbstractExchangeParser { @Override protected AbstractBeanDefinition parseBinding(String exchangeName, Element binding, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(Binding.class); - builder.addConstructorArgValue(binding.getAttribute(BINDING_QUEUE_ATTR)); + builder.addConstructorArgValue(new TypedStringValue(binding.getAttribute(BINDING_QUEUE_ATTR))); builder.addConstructorArgValue(DestinationType.EXCHANGE); - builder.addConstructorArgValue(exchangeName); + builder.addConstructorArgValue(new TypedStringValue(exchangeName)); builder.addConstructorArgValue(""); ManagedMap map = new ManagedMap(); String key = binding.getAttribute("key"); diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/TopicExchangeParser.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/TopicExchangeParser.java index 766f9193..cdf0c67c 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/TopicExchangeParser.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/TopicExchangeParser.java @@ -21,6 +21,7 @@ import java.util.Collections; import org.springframework.amqp.core.Binding; import org.springframework.amqp.core.Binding.DestinationType; import org.springframework.amqp.core.TopicExchange; +import org.springframework.beans.factory.config.TypedStringValue; import org.springframework.beans.factory.support.AbstractBeanDefinition; import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.xml.ParserContext; @@ -42,10 +43,10 @@ public class TopicExchangeParser extends AbstractExchangeParser { @Override protected AbstractBeanDefinition parseBinding(String exchangeName, Element binding, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(Binding.class); - builder.addConstructorArgValue(binding.getAttribute(BINDING_QUEUE_ATTR)); + builder.addConstructorArgValue(new TypedStringValue(binding.getAttribute(BINDING_QUEUE_ATTR))); builder.addConstructorArgValue(DestinationType.EXCHANGE); - builder.addConstructorArgValue(exchangeName); - builder.addConstructorArgValue(binding.getAttribute(BINDING_PATTERN_ATTR)); + builder.addConstructorArgValue(new TypedStringValue(exchangeName)); + builder.addConstructorArgValue(new TypedStringValue(binding.getAttribute(BINDING_PATTERN_ATTR))); builder.addConstructorArgValue(Collections.emptyMap()); return builder.getBeanDefinition(); }