List of usage examples for org.springframework.amqp.rabbit.listener SimpleMessageListenerContainer setQueues
public final void setQueues(Queue... queues)
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; }