Example usage for org.springframework.amqp.core FanoutExchange getName

List of usage examples for org.springframework.amqp.core FanoutExchange getName

Introduction

In this page you can find the example usage for org.springframework.amqp.core FanoutExchange getName.

Prototype

@Override
    public String getName() 

Source Link

Usage

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);
}