@Override protected BeanDefinitionBuilder parseBinding(String exchangeName, Element binding, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(BindingFactoryBean.class); parseDestination(binding, parserContext, builder); builder.addPropertyValue("exchange", new TypedStringValue(exchangeName)); String queueId = binding.getAttribute(BINDING_QUEUE_ATTR); String exchangeId = binding.getAttribute(BINDING_EXCHANGE_ATTR); String bindingKey = binding.hasAttribute(BINDING_KEY_ATTR) ? binding.getAttribute(BINDING_KEY_ATTR) : "#{@'" + (StringUtils.hasText(queueId) ? queueId : exchangeId) + "'.name}"; builder.addPropertyValue("routingKey", new TypedStringValue(bindingKey)); return builder; }
public void init() { registerBeanDefinitionParser("queue", new QueueParser()); registerBeanDefinitionParser("direct-exchange", new DirectExchangeParser()); registerBeanDefinitionParser("topic-exchange", new TopicExchangeParser()); registerBeanDefinitionParser("fanout-exchange", new FanoutExchangeParser()); registerBeanDefinitionParser("headers-exchange", new HeadersExchangeParser()); registerBeanDefinitionParser("listener-container", new ListenerContainerParser()); registerBeanDefinitionParser("admin", new AdminParser()); registerBeanDefinitionParser("connection-factory", new ConnectionFactoryParser()); registerBeanDefinitionParser("template", new TemplateParser()); registerBeanDefinitionParser("queue-arguments", new QueueArgumentsParser()); registerBeanDefinitionParser("annotation-driven", new AnnotationDrivenParser()); }
public void init() { registerBeanDefinitionParser("queue", new QueueParser()); registerBeanDefinitionParser("direct-exchange", new DirectExchangeParser()); registerBeanDefinitionParser("topic-exchange", new TopicExchangeParser()); registerBeanDefinitionParser("fanout-exchange", new FanoutExchangeParser()); registerBeanDefinitionParser("headers-exchange", new HeadersExchangeParser()); registerBeanDefinitionParser("listener-container", new ListenerContainerParser()); registerBeanDefinitionParser("admin", new AdminParser()); registerBeanDefinitionParser("connection-factory", new ConnectionFactoryParser()); registerBeanDefinitionParser("template", new TemplateParser()); registerBeanDefinitionParser("queue-arguments", new QueueArgumentsParser()); registerBeanDefinitionParser("annotation-driven", new AnnotationDrivenParser()); }
@Override protected BeanDefinitionBuilder parseBinding(String exchangeName, Element binding, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(BindingFactoryBean.class); parseDestination(binding, parserContext, builder); builder.addPropertyValue("exchange", new TypedStringValue(exchangeName)); String queueId = binding.getAttribute(BINDING_QUEUE_ATTR); String exchangeId = binding.getAttribute(BINDING_EXCHANGE_ATTR); String bindingKey = binding.hasAttribute(BINDING_KEY_ATTR) ? binding.getAttribute(BINDING_KEY_ATTR) : "#{@'" + (StringUtils.hasText(queueId) ? queueId : exchangeId) + "'.name}"; builder.addPropertyValue("routingKey", new TypedStringValue(bindingKey)); return builder; }