Package com.rabbitmq.client.QueueingConsumer

Examples of com.rabbitmq.client.QueueingConsumer.Delivery


        AMQP.BasicProperties properties,
        byte[] body
    )
        throws IOException
    {
      this._queue.add(new Delivery(envelope, properties, body));
    }
View Full Code Here


  public void serveRequests() {
    while (true) {
      try {

        Delivery delivery = consumer.nextDelivery();
        BasicProperties props = delivery.getProperties();

        channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);
        System.out.println(
          "Received API call...replying..."
        );

        channel.basicPublish(
View Full Code Here

    );

    System.out.println("Sent 'ping' RPC call. Waiting for reply...");

    while (true) {
      Delivery delivery = consumer.nextDelivery();
      response = new String(delivery.getBody(), "UTF-8");
      break;
    }

    return response;
  }
View Full Code Here

    }

    protected void consumeNoDuplicates(QueueingConsumer consumer)
            throws ShutdownSignalException, InterruptedException {
        assertNotNull(consumer.nextDelivery(TIMEOUT));
        Delivery markerDelivery = consumer.nextDelivery(TIMEOUT);
        assertEquals(new String(MARKER), new String(markerDelivery.getBody()));
    }
View Full Code Here

            try {
                q = new QueueingConsumer(channel);
                channel.basicConsume(queueName, autoAck, q);

                while (timeLimit == 0 || now < startTime + timeLimit) {
                    Delivery delivery;
                    try {
                        if (timeLimit == 0) {
                            delivery = q.nextDelivery();
                        } else {
                            delivery = q.nextDelivery(startTime + timeLimit - now);
                            if (delivery == null) break;
                        }
                    } catch (ConsumerCancelledException e) {
                        System.out.println("Consumer cancelled by broker. Re-consuming.");
                        q = new QueueingConsumer(channel);
                        channel.basicConsume(queueName, autoAck, q);
                        continue;
                    }
        totalMsgCount++;

                    DataInputStream d = new DataInputStream(new ByteArrayInputStream(delivery.getBody()));
                    d.readInt();
                    long msgNano = d.readLong();
                    long nano = System.nanoTime();

                    Envelope envelope = delivery.getEnvelope();

                    if (!autoAck) {
                        if (multiAckEvery == 0) {
                            channel.basicAck(envelope.getDeliveryTag(), false);
                        } else if (totalMsgCount % multiAckEvery == 0) {
View Full Code Here

        // when there is a consumer, message should be delivered
        QueueingConsumer c = new QueueingConsumer(channel);
        channel.basicConsume(TTL_QUEUE_NAME, c);
        publish(MSG[0]);
        Delivery d = c.nextDelivery(100);
        assertNotNull(d);

        // requeued messages should expire
        channel.basicReject(d.getEnvelope().getDeliveryTag(), true);
        assertNull(c.nextDelivery(100));
    }
View Full Code Here

    {
        Queue<Delivery> res = new LinkedList<Delivery>();
        try {
            long start = System.currentTimeMillis();
            for (int i = 0; i < n; i++) {
                Delivery d = c.nextDelivery(1000);
                assertNotNull(d);
                res.offer(d);
            }
            long finish = System.currentTimeMillis();
            Thread.sleep( (n == 0 ? 0 : (finish - start) / n) + 10 );
View Full Code Here

        fill(1);
        QueueingConsumer c2 = new QueueingConsumer(channel);
        declareBindConsume(channel, c2, true);
        fill(1);
        try {
            Delivery d = c2.nextDelivery(1000);
            assertNull(d);
        } catch (InterruptedException ie) {
            fail("interrupted");
        }
        Queue<Delivery> d = drain(c1, 1);
View Full Code Here

        counts.put("c1", 0);
        counts.put("c2", 0);
        fill(count);
        try {
            for (int i = 0; i < count; i++) {
                Delivery d = c.nextDelivery();
                channel.basicAck(d.getEnvelope().getDeliveryTag(), false);
            }
        } catch (InterruptedException ie) {
            fail("interrupted");
        }
View Full Code Here

            tags.add(r.getEnvelope().getDeliveryTag());
        }

        //are acks handled correctly?
        //and does the basic.get above have no effect on limiting?
        Delivery last = ack(d, multiAck);
        if (txMode) {
            drain(c, 0);
            channel.txRollback();
            drain(c, 0);
            ackDelivery(last, true);
View Full Code Here

TOP

Related Classes of com.rabbitmq.client.QueueingConsumer.Delivery

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.