List of usage examples for org.springframework.amqp.core FanoutExchange getName
@Override
public String getName()
From source file:org.springframework.integration.x.rabbit.RabbitMessageBus.java
@Override public void bindPubSubConsumer(String name, MessageChannel moduleInputChannel) { FanoutExchange exchange = new FanoutExchange("topic." + name); rabbitAdmin.declareExchange(exchange); Queue queue = new AnonymousQueue(); this.rabbitAdmin.declareQueue(queue); org.springframework.amqp.core.Binding binding = BindingBuilder.bind(queue).to(exchange); this.rabbitAdmin.declareBinding(binding); // register with context so they will be redeclared after a connection failure this.autoDeclareContext.getBeanFactory().registerSingleton(queue.getName(), queue); if (!autoDeclareContext.containsBean(exchange.getName() + ".binding")) { this.autoDeclareContext.getBeanFactory().registerSingleton(exchange.getName() + ".binding", binding); }/*from w w w . j a v a2s . c o m*/ doRegisterConsumer(name, moduleInputChannel, queue); }
From source file:org.springframework.xd.dirt.integration.rabbit.RabbitMessageBus.java
@Override public void bindPubSubConsumer(String name, MessageChannel moduleInputChannel, Properties properties) { if (logger.isInfoEnabled()) { logger.info("declaring pubsub for inbound: " + name); }/*from w w w .j a v a 2 s .c om*/ RabbitPropertiesAccessor accessor = new RabbitPropertiesAccessor(properties); validateConsumerProperties(name, properties, SUPPORTED_PUBSUB_CONSUMER_PROPERTIES); String prefix = accessor.getPrefix(this.defaultPrefix); FanoutExchange exchange = new FanoutExchange(prefix + "topic." + name); declareExchangeIfNotPresent(exchange); String uniqueName = name + "." + UUID.randomUUID().toString(); Queue queue = new Queue(prefix + uniqueName, false, true, true); declareQueueIfNotPresent(queue); org.springframework.amqp.core.Binding binding = BindingBuilder.bind(queue).to(exchange); this.rabbitAdmin.declareBinding(binding); // register with context so they will be redeclared after a connection failure this.autoDeclareContext.getBeanFactory().registerSingleton(queue.getName(), queue); String bindingBeanName = exchange.getName() + "." + queue.getName() + ".binding"; if (!autoDeclareContext.containsBean(bindingBeanName)) { this.autoDeclareContext.getBeanFactory().registerSingleton(bindingBeanName, binding); } doRegisterConsumer(name, moduleInputChannel, queue, accessor, true); autoBindDLQ(uniqueName, accessor); }