@Override public boolean hasMore() { nextRow = null; try { if (nextIterator.hasNext()) { nextRow = nextIterator.next(); return true; } // Wait for the next delivery. This will block until something is available. final Delivery delivery = consumer.nextDelivery(); if (delivery != null) { lastDeliveryTag = delivery.getEnvelope().getDeliveryTag(); nextIterator = firehoseParser.parseBatch(ByteBuffer.wrap(delivery.getBody())).iterator(); if (nextIterator.hasNext()) { nextRow = nextIterator.next(); // If delivery is non-null, we report that there is something more to process. return true; } } } catch (InterruptedException e) { // A little unclear on how we should handle this. // At any rate, we're in an unknown state now so let's log something and return false. log.wtf(e, "Got interrupted while waiting for next delivery. Doubt this should ever happen."); } // This means that delivery is null or we caught the exception above so we report that we have // nothing more to process. return false; }
@Override public void run(SourceContext<OUT> ctx) throws Exception { while (running) { QueueingConsumer.Delivery delivery = consumer.nextDelivery(); synchronized (ctx.getCheckpointLock()) { OUT result = schema.deserialize(delivery.getBody()); if (schema.isEndOfStream(result)) { break; } if (!autoAck) { final long deliveryTag = delivery.getEnvelope().getDeliveryTag(); if (usesCorrelationId) { final String correlationId = delivery.getProperties().getCorrelationId(); Preconditions.checkNotNull(correlationId, "RabbitMQ source was instantiated " + "with usesCorrelationId set to true but a message was received with " + "correlation id set to null!"); if (!addId(correlationId)) { // we have already processed this message continue; } } sessionIds.add(deliveryTag); } ctx.collect(result); } } }
boolean enough = false; while (!enough) { QueueingConsumer.Delivery delivery = consumer.nextDelivery(); String message = new String(delivery.getBody()); System.out.println(" [x] Received '" + message + "'"); if (message.toLowerCase().equals("exit")) enough = true; }
public static void main(String[] args) throws Exception { Channel channel = AMQPCommon.connect(); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume("order.q", true, consumer); while (true) { QueueingConsumer.Delivery msg = consumer.nextDelivery(); String orderType = msg.getProperties().getHeaders().get("type").toString(); String orderItem = new String(msg.getBody()); processor.get(orderType).processOrder(orderItem); Thread.sleep(2000); } } }
public void execute() throws Exception { Channel channel = AMQPCommon.connect(); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume("trade.eq.q", true, consumer); while (true) { QueueingConsumer.Delivery msg = consumer.nextDelivery(); String message = new String(msg.getBody()); System.out.println("message received: " + message); String[] parts = message.split(","); long shares = new Long(parts[2]).longValue(); Thread.sleep(1000); } }
public void dispatchMessages() throws Exception { Channel channel = AMQPCommon.connect(); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicQos(1); channel.basicConsume("trade.eq.q", false, consumer); while (true) { QueueingConsumer.Delivery msg = consumer.nextDelivery(); channel.basicAck(msg.getEnvelope().getDeliveryTag(), false); new Thread(new POJOThreadProcessor( this, new String(msg.getBody()))).start(); numThreads++; System.out.println("Threads: " + numThreads); } }
public void execute() throws Exception { Channel channel = AMQPCommon.connect(); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume("workflow.q", true, consumer); while (true) { QueueingConsumer.Delivery message = consumer.nextDelivery(); String msg = new String(message.getBody()); System.out.println("message received: " + msg); String newMsg = msg.substring(0, msg.indexOf(" shares")); byte[] bmsg = newMsg.getBytes(); System.out.println("Trade fixed: " + newMsg); channel.basicPublish("", "trade.eq.q", null, bmsg); } }
public void execute() throws Exception { Channel channel = AMQPCommon.connect(); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume("order.q", true, consumer); displayCache(); while (true) { QueueingConsumer.Delivery msg = consumer.nextDelivery(); String order = new String(msg.getBody()); System.out.println("order received: " + order); placeOrder(order); sendEvent(channel, order); displayCache(); } }
while (true) { QueueingConsumer.Delivery delivery = consumer.nextDelivery(); String message = new String(delivery.getBody()); process(message); // performs the processing in another thread }
public static void main(String[] args) throws Exception { Channel channel = AMQPCommon.connect(); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume("book.q", true, consumer); while (true) { QueueingConsumer.Delivery msg = consumer.nextDelivery(); System.out.println("PROCESSING BOOK ORDER: " + new String(msg.getBody())); Thread.sleep(2000); } } }
public static void main(String[] args) throws Exception { Channel channel = AMQPCommon.connect(); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume("movie.q", true, consumer); while (true) { QueueingConsumer.Delivery msg = consumer.nextDelivery(); System.out.println("PROCESSING MOVIE ORDER: " + new String(msg.getBody())); Thread.sleep(2000); } } }
public static void main(String[] args) throws Exception { Channel channel = AMQPCommon.connect(); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicQos(1); channel.basicConsume("trade.eq.q", false, consumer); while (true) { QueueingConsumer.Delivery msg = consumer.nextDelivery(); System.out.println("message received: " + new String(msg.getBody())); Thread.sleep(2000); channel.basicAck(msg.getEnvelope().getDeliveryTag(), false); } } }
public static void main(String[] args) throws Exception { Channel channel = AMQPCommon.connect(); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicQos(1); channel.basicConsume("trade.eq.q", false, consumer); while (true) { QueueingConsumer.Delivery msg = consumer.nextDelivery(); Thread.sleep(2000); System.out.println("Trade placed: " + new String(msg.getBody())); channel.basicAck(msg.getEnvelope().getDeliveryTag(), false); } } }
@Override public void run() { while(consumer != null) { try { QueueingConsumer.Delivery delivery = consumer.nextDelivery(); onMessage(delivery.getBody()); } catch (Exception e) { log.error("Global cache invalidation: error message recieve.", e); } } } };
QueueingConsumer.Delivery queueMessage = consumer.nextDelivery(); String message = new String(queueMessage.getBody()); // if auto-ack is not set channel.basicAck(queueMessage.getEnvelope().getDeliveryTag(), false);
@Override public byte[] handleCall(QueueingConsumer.Delivery request, AMQP.BasicProperties replyProperties) { return rpcMsgProcessor.onRpcMessage(request.getBody()); }
public static Message createMessage(QueueingConsumer.Delivery delivery) { AMQP.BasicProperties properties = delivery.getProperties(); byte[] msgBody = delivery.getBody(); Message msg = MessageFactory.createMessage(); initMessage(msg, properties, msgBody); return msg; }
public static void main(String[] args) throws Exception { Channel channel = AMQPCommon.connect(); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume("music.q", true, consumer); while (true) { QueueingConsumer.Delivery msg = consumer.nextDelivery(); System.out.println("PROCESSING MUSIC ORDER: " + new String(msg.getBody())); Thread.sleep(2000); } } }
@Override public InputRow nextRow() { if (delivery == null) { //Just making sure. log.wtf("I have nothing in delivery. Method hasMore() should have returned false."); return null; } return stringParser.parse(StringUtils.fromUtf8(delivery.getBody())); }
public MQItem recv() throws InterruptedException, IOException { QueueingConsumer.Delivery delivery = consumer.nextDelivery(); MQItem item = gson.fromJson(new String(delivery.getBody()), MQItem.class); channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false); return item; }