Example usage for org.springframework.amqp.rabbit.listener SimpleMessageListenerContainer setQueues

List of usage examples for org.springframework.amqp.rabbit.listener SimpleMessageListenerContainer setQueues

Introduction

In this page you can find the example usage for org.springframework.amqp.rabbit.listener SimpleMessageListenerContainer setQueues.

Prototype

public final void setQueues(Queue... queues) 

Source Link

Document

Set the name of the queue(s) to receive messages from.

Usage

From source file:io.acme.solution.api.test.conf.RabbitTestConfigurer.java

@Bean
public SimpleMessageListenerContainer getMessageListenerContainer(final ConnectionFactory connectionFactory,
        final Queue commandDrainQueue, final MessageListenerAdapter messageListener) {

    final SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(connectionFactory);
    container.setQueues(commandDrainQueue);
    container.setMessageListener(messageListener);

    return container;
}

From source file:jp.co.ctc_g.rack.resource_manager.config.RackResourceManagerConsumerContextConfig.java

/**
 * SimpleMessageListenerContainer?DI????
 * @return SimpleMessageListenerContainer?
 *//*from   www .  ja v  a  2 s.com*/
@Bean
public SimpleMessageListenerContainer keypairControlContainer() {

    SimpleMessageListenerContainer container = makeContainer();
    container.setQueues(keypairConsumerQueue());
    container.setMessageListener(keypairConsumerAdapter());
    return container;
}

From source file:jp.co.ctc_g.rack.resource_manager.config.RackResourceManagerConsumerContextConfig.java

/**
 * SimpleMessageListenerContainer?DI????
 * @return SimpleMessageListenerContainer?
 */// ww w .j av  a2  s .  c  o  m
@Bean
public SimpleMessageListenerContainer networkControlContainer() {

    SimpleMessageListenerContainer container = makeContainer();
    container.setQueues(networkConsumerQueue());
    container.setMessageListener(networkConsumerAdapter());
    return container;
}

From source file:jp.co.ctc_g.rack.resource_manager.config.RackResourceManagerConsumerContextConfig.java

/**
 * SimpleMessageListenerContainer?DI????
 * @return SimpleMessageListenerContainer?
 *//*from ww  w  . ja  v a 2s. co  m*/
@Bean
public SimpleMessageListenerContainer controlContainer() {

    SimpleMessageListenerContainer container = makeContainer();
    container.setQueues(resourceConsumerQueue());
    container.setMessageListener(consumerAdapter());
    container.setConcurrentConsumers(10);
    return container;
}

From source file:vn.topmedia.monitor.rabbit.client.RabbitClientConfiguration.java

@Bean
public SimpleMessageListenerContainer listenerContainer() {
    SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
    container.setConnectionFactory(connectionFactory());
    container.setQueues(marketDataQueue());
    container.setMessageListener(messageListenerAdapter());
    return container;
}

From source file:com.jbrisbin.vpc.jobsched.SubmitClosure.java

@Override
public Object call(Object[] args) {
    log.debug("args: " + args);
    String exch = args[0].toString();
    String route = args[1].toString();
    final Object body = args[2];
    Map headers = null;/*w  w w  . j ava  2  s. co  m*/

    final BlockingQueue<Object> resultsQueue = new LinkedBlockingQueue<Object>();
    Queue replyQueue = rabbitAdmin.declareQueue();
    SimpleMessageListenerContainer listener = new SimpleMessageListenerContainer();
    listener.setQueues(replyQueue);
    if (args.length > 3) {
        for (int i = 3; i <= args.length; i++) {
            if (args[i] instanceof MessageListener) {
                MessageListener callback = (MessageListener) args[3];
                listener.setMessageListener(callback);
            } else if (args[i] instanceof Map) {
                headers = (Map) args[i];
            }
        }
    } else {
        listener.setMessageListener(new MessageListener() {
            public void onMessage(Message message) {
                byte[] body = message.getBody();
                try {
                    resultsQueue.add(mapper.readValue(body, 0, body.length, Map.class));
                } catch (IOException e) {
                    log.error(e.getMessage(), e);
                }
            }
        });
    }

    final Map msgHdrs = headers;
    rabbitTemplate.send(exch, route, new MessageCreator() {
        public Message createMessage() {
            MessageProperties props = new RabbitMessageProperties();
            props.setContentType("application/json");
            if (null != msgHdrs) {
                props.getHeaders().putAll(msgHdrs);
            }
            String uuid = UUID.randomUUID().toString();
            props.setCorrelationId(uuid.getBytes());
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            try {
                mapper.writeValue(out, body);
            } catch (IOException e) {
                log.error(e.getMessage(), e);
            }
            Message msg = new Message(out.toByteArray(), props);
            return msg;
        }
    });

    Object results = null;
    try {
        results = resultsQueue.poll(5, TimeUnit.SECONDS);
    } catch (InterruptedException e) {
        log.error(e.getMessage(), e);
    }
    listener.stop();

    return results;
}

From source file:com.jbrisbin.vpc.jobsched.batch.BatchMessageHandler.java

public BatchMessage handleMessage(BatchMessage batch) throws Exception {
    log.debug("handling message: " + batch.toString());

    final BatchMessage results = new BatchMessage();
    results.setId(batch.getId());//from w  w  w  .j ava2  s .  c  om

    // For waiting till our results are all back
    final CountDownLatch latch = new CountDownLatch(batch.getMessages().size());

    Queue resultsQueue = rabbitAdmin.declareQueue();
    SimpleMessageListenerContainer listener = new SimpleMessageListenerContainer(connectionFactory);
    listener.setAutoAck(true);
    listener.setQueues(resultsQueue);
    listener.setMessageListener(new MessageListener() {
        public void onMessage(Message message) {
            String messageId = new String(message.getMessageProperties().getCorrelationId());
            String body = new String(message.getBody());
            results.getMessages().put(messageId, body);
            latch.countDown();
        }
    });
    listener.start();

    for (Map.Entry<String, String> msg : batch.getMessages().entrySet()) {
        final String[] parts = msg.getKey().split(":");
        template.send(parts[0], parts[1],
                new MessageCreator(parts[2], parts[3], resultsQueue.getName(), msg.getValue().getBytes()));
    }

    // Wait the timeout value per message for all results to be collected
    latch.await((batch.getTimeout() * batch.getMessages().size()), TimeUnit.MINUTES);

    return results;
}

From source file:com.sample.amqp.RabbitConfiguration.java

@Bean
public SimpleMessageListenerContainer listenerContainer() {
    SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
    container.setConcurrentConsumers(5);
    container.setConnectionFactory(connectionFactory());
    container.setQueues(responseQueue());
    container.setMessageListener(rabbitTemplate());
    return container;
}

From source file:com.jbrisbin.vpc.jobsched.mapred.MapReduceMessageHandler.java

private void listenForReReduce(MapReduceMessage msg) throws ScriptException, ResourceException {
    String hash = "rereduce." + DigestUtils.md5Hex(msg.getId());
    Queue q = new Queue(hash);
    q.setExclusive(true);/*  ww  w  . j  a  v a2s.  c  o  m*/
    q.setDurable(false);
    q.setAutoDelete(true);
    rabbitAdmin.declareQueue(q);
    SimpleMessageListenerContainer c = new SimpleMessageListenerContainer(connectionFactory);
    c.setQueues(q);
    c.setMessageListener(new ReReduceListener(msg));
    c.start();
    listenerCache.put(hash, c);
}

From source file:org.openbaton.nse.api.EventReceiver.java

@Bean
public SimpleMessageListenerContainer setCreationMessageContainer(ConnectionFactory connectionFactory,
        @Qualifier("getCreationQueue") Queue queue,
        @Qualifier("setCreationMessageListenerAdapter") MessageListenerAdapter adapter) {
    logger.debug("Created MessageContainer for NSR Creation event");
    SimpleMessageListenerContainer res = new SimpleMessageListenerContainer();
    res.setConnectionFactory(connectionFactory);
    res.setQueues(queue);
    res.setMessageListener(adapter);//from   www. ja  v  a 2s . co  m
    return res;
}