Example usage for com.rabbitmq.client Channel basicConsume

List of usage examples for com.rabbitmq.client Channel basicConsume

Introduction

In this page you can find the example usage for com.rabbitmq.client Channel basicConsume.

Prototype

String basicConsume(String queue, boolean autoAck, Consumer callback) throws IOException;

Source Link

Document

Start a non-nolocal, non-exclusive consumer, with a server-generated consumerTag.

Usage

From source file:com.groupx.recipientlist.test.TranslatorMock.java

public static void main(String[] argv) throws Exception {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("localhost");
    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();

    channel.exchangeDeclare(EXCHANGE_NAME, "fanout");
    String queueName = channel.queueDeclare().getQueue();
    channel.queueBind(queueName, EXCHANGE_NAME, "");

    System.out.println(" [*] Waiting for messages. To exit press X+ENTER");

    Consumer consumer = new DefaultConsumer(channel) {
        @Override//from w ww  .  j  a  v  a  2s.  c o  m
        public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
                byte[] body) throws IOException {
            String message = new String(body, "UTF-8");
            System.out.println(" [x] Received '" + message + "'");
        }
    };
    channel.basicConsume(queueName, true, consumer);
    try {
        Scanner in = new Scanner(System.in);
        String input = in.next();
        if ("x".equals(input)) {
            System.exit(0);
        }
    } catch (Exception e) {

    }
}

From source file:com.insa.tp3g1.esbsimulator.view.MessageHandler.java

public static void logGetter() throws java.io.IOException {
    ConnectionFactory factory = new ConnectionFactory();
    LogHandler logHandler = new LogHandler();
    factory.setHost("146.148.27.98");
    factory.setUsername("admin");
    factory.setPassword("adminadmin");
    factory.setPort(5672);/*from  www.  j  av a 2  s .co m*/

    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();

    channel.exchangeDeclare(LOG_NAME, "fanout");
    String queueName = channel.queueDeclare().getQueue();
    channel.queueBind(queueName, LOG_NAME, "");

    System.out.println(" [*] Waiting for messages. To exit press CTRL+C");

    QueueingConsumer consumer = new QueueingConsumer(channel);
    channel.basicConsume(queueName, true, consumer);
    count = 0;
    boolean over = false;
    while (!over) {

        QueueingConsumer.Delivery delivery = null;
        try {
            delivery = consumer.nextDelivery();
            String message = new String(delivery.getBody());
            //System.out.println(" [x] Received '" + message + "'");
            synchronized (count) {
                count++;
            }
            logHandler.add(message);
            System.out.print(Thread.currentThread().getId() + " ");

        } catch (InterruptedException interruptedException) {
            System.out.println("finished");
            System.out.println(logHandler);

            System.out.println(logHandler);
            Thread.currentThread().interrupt();
            System.out.println(Thread.currentThread().getId() + " ");
            break;
            // Thread.currentThread().stop();
            // over = true;
        } catch (ShutdownSignalException shutdownSignalException) {
            System.out.println("finished");
            // Thread.currentThread().stop();
            over = true;
        } catch (ConsumerCancelledException consumerCancelledException) {
            System.out.println("finished");
            //  Thread.currentThread().stop();
            over = true;
        } catch (IllegalMonitorStateException e) {
            System.out.println("finished");
            // Thread.currentThread().stop();
            over = true;
        }

    }
    System.out.println("before close");
    channel.close();
    connection.close();
    System.out.println("finished handling");
    Result res = logHandler.fillInResultForm(logHandler.getTheLog());
    ResultHandler resH = new ResultHandler(res);
    resH.createResultFile("/home/alpha/alphaalpha.xml");
    final OverlaidBarChart demo = new OverlaidBarChart("Response Time Chart", res);
    demo.pack();
    RefineryUtilities.centerFrameOnScreen(demo);
    demo.setVisible(true);
    int lost = Integer.parseInt(res.getTotalResult().getLostRequests()) / logHandler.getNbRequests();
    PieChart demo1 = new PieChart("Messages", lost * 100);
    demo1.pack();
    demo1.setVisible(true);
    //System.out.println(logHandler);

}

From source file:com.loanbroker.old.JSONReceiveTest.java

public static void main(String[] argv) throws IOException, InterruptedException {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("datdb.cphbusiness.dk");
    factory.setUsername("student");
    factory.setPassword("cph");
    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();

    channel.exchangeDeclare(EXCHANGE_NAME, "fanout");
    String queueName = "Kender du hende der Arne";
    channel.queueDeclare(queueName, false, false, false, null);

    channel.queueBind(queueName, EXCHANGE_NAME, "");
    QueueingConsumer consumer = new QueueingConsumer(channel);
    channel.basicConsume(queueName, true, consumer);

    while (true) {
        QueueingConsumer.Delivery delivery = consumer.nextDelivery();
        String messageIn = new String(delivery.getBody());
        System.out.println(" [x] Received by tester: '" + messageIn + "'");
    }/* w  w  w  .j ava 2  s  . c  o m*/

}

From source file:com.magikbyte.smalldoode.meeting.Manager.java

public void init() {
    try {/*  w w  w . j av  a2s.c om*/
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost("localhost");
        Connection connection = factory.newConnection();
        Channel channel = connection.createChannel();
        channel.queueDeclare(QUEUE_NAME, false, false, false, null);

        consumer = new DefaultConsumer(channel) {
            @Override
            public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
                    byte[] body) throws IOException {
                String message = new String(body, "UTF-8");
                dispatchMessage(message);
            }
        };
        channel.basicConsume(QUEUE_NAME, true, consumer);
    } catch (IOException | TimeoutException e) {
    }
}

From source file:com.Main.Aggregator.java

public static void main(String[] argv) throws IOException {

    Channel channel = rabbitMQUtil.createQueue(QUEUE_NAME_RECEIVE);
    Consumer consumer = new DefaultConsumer(channel) {
        @Override//w w  w. j a v a  2 s.  c  o  m
        public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
                byte[] body) throws IOException {
            try {
                ReplyObject replyObject = (ReplyObject) StringByteHelper.fromByteArrayToObject(body);
                if (waitingList.isEmpty()) {
                    waitingList.add(replyObject);
                    System.out.println("Object added to Array");
                    initialise = time.getTimeInMillis();
                } else {
                    if (replyObject.getSsn().equals(waitingList.get(0).getSsn())) {
                        waitingList.add(replyObject);
                    }
                }
                if (!waitingList.isEmpty()) {
                    ReplyObject finalReply = waitingList.get(0);

                    if (initialise + 3000 <= time.getTimeInMillis()) {
                        System.out.println("" + time.getTime());

                        for (ReplyObject reply : waitingList) {

                            int result = reply.getInterestRate().compareTo(finalReply.getInterestRate());
                            if (result > 1) {
                                finalReply = reply;
                            }
                        }

                        try {
                            sendFinalReply(finalReply);
                            waitingList.clear();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }

        }
    };

    channel.basicConsume(QUEUE_NAME_RECEIVE, true, consumer);

}

From source file:com.mycompany.aggregator.Aggregator.java

public void subscribe() throws Exception, TimeoutException, IOException {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("localhost");
    factory.setUsername(USERNAME);//from  w ww. j av a2s  .  c om
    factory.setPassword(PASSWORD);

    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();

    channel.queueDeclare(QUEUE_NAME, false, false, false, null);
    System.out.println(" [*] Waiting for messages. To exit press CTRL+C");

    Consumer consumer = new DefaultConsumer(channel) {
        @Override
        public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
                byte[] body) throws IOException {
            String response = new String(body, "UTF-8");

            System.out.println("Received message!!");

            synchronized (responseQueueBuffer) {
                if (responseQueueBuffer.get(properties.getCorrelationId()) == null) {
                    responseQueueBuffer.put(properties.getCorrelationId(), new ResponseBuffer());
                }
                if (response != null) {
                    responseQueueBuffer.get(properties.getCorrelationId())
                            .addResponse(new JSONObject(response));
                }
            }
        }
    };

    channel.basicConsume(QUEUE_NAME, true, consumer);

    Thread task = new Thread() {
        @Override
        public void run() {
            while (true) {
                syncQueues();
                for (Map.Entry<String, ResponseBuffer> pair : responseQueue.entrySet()) {
                    if (responseQueue.get(pair.getKey()).getCreatedAt() + TIMEOUT < System
                            .currentTimeMillis()) {
                        JSONObject bestResponse = responseQueue.get(pair.getKey()).getBestResponse();
                        try {
                            forwardToSockets(bestResponse, (String) pair.getKey());
                            System.out.println("Should return " + bestResponse);
                            responseQueue.get(pair.getKey()).setFinished();
                        } catch (IOException ex) {
                            Logger.getLogger(Aggregator.class.getName()).log(Level.SEVERE, null, ex);
                        } catch (TimeoutException ex) {
                            Logger.getLogger(Aggregator.class.getName()).log(Level.SEVERE, null, ex);
                        }

                    }
                }
            }
        }

    };
    task.start();
}

From source file:com.mycompany.bankjsontranslator.Translator.java

public static void main(String[] args) throws IOException {

    ConnectionFactory listeningFactory = new ConnectionFactory();
    listeningFactory.setHost("datdb.cphbusiness.dk");
    listeningFactory.setUsername("Dreamteam");
    listeningFactory.setPassword("bastian");

    ConnectionFactory sendingFactory = new ConnectionFactory();
    sendingFactory.setHost("datdb.cphbusiness.dk");
    sendingFactory.setUsername("Dreamteam");
    sendingFactory.setPassword("bastian");

    Connection listeningConnection = listeningFactory.newConnection();
    Connection sendingConnection = sendingFactory.newConnection();

    final Channel listeningChannel = listeningConnection.createChannel();
    final Channel sendingChannel = sendingConnection.createChannel();

    final BasicProperties props = new BasicProperties.Builder().replyTo(REPLY_TO_HEADER).build();

    listeningChannel.queueDeclare(LISTENING_QUEUE_NAME, false, false, false, null);
    listeningChannel.queueBind(LISTENING_QUEUE_NAME, EXCHANGE_NAME, "CphBusinessJSON");

    listeningChannel.queueDeclare(LISTENING_QUEUE_NAME, false, false, false, null);
    System.out.println(" [*] Waiting for messages. To exit press CTRL+C");

    Consumer consumer = new DefaultConsumer(listeningChannel) {
        @Override//from  w ww  .  j  a  v a2 s. c o m
        public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
                byte[] body) throws IOException {
            message = new String(body, "UTF-8");
            System.out.println(" [x] Received '" + message + "'");

            String[] arr = message.split(",");

            int dashRemoved = Integer.parseInt(arr[0].replace("-", ""));

            Result res = new Result(dashRemoved, Integer.parseInt(arr[1]), Double.parseDouble(arr[2]),
                    Integer.parseInt(arr[3]));

            String result = gson.toJson(res);
            System.out.println(result);

            sendingChannel.exchangeDeclare(SENDING_QUEUE_NAME, "fanout");
            String test = sendingChannel.queueDeclare().getQueue();
            sendingChannel.queueBind(test, SENDING_QUEUE_NAME, "");
            sendingChannel.basicPublish(SENDING_QUEUE_NAME, "", props, result.getBytes());

        }
    };
    listeningChannel.basicConsume(LISTENING_QUEUE_NAME, true, consumer);

}

From source file:com.mycompany.bankxmltranslator.Translator.java

public static void main(String[] args) throws IOException {

    ConnectionFactory listeningFactory = new ConnectionFactory();
    listeningFactory.setHost("datdb.cphbusiness.dk");
    listeningFactory.setUsername("Dreamteam");
    listeningFactory.setPassword("bastian");

    ConnectionFactory sendingFactory = new ConnectionFactory();
    sendingFactory.setHost("datdb.cphbusiness.dk");
    sendingFactory.setUsername("Dreamteam");
    sendingFactory.setPassword("bastian");

    Connection listeningConnection = listeningFactory.newConnection();
    Connection sendingConnection = sendingFactory.newConnection();

    final Channel listeningChannel = listeningConnection.createChannel();
    final Channel sendingChannel = sendingConnection.createChannel();

    listeningChannel.queueDeclare(LISTENING_QUEUE_NAME, false, false, false, null);
    listeningChannel.queueBind(LISTENING_QUEUE_NAME, EXCHANGE_NAME, "CphBusinessXML");

    System.out.println(" [*] Waiting for messages. To exit press CTRL+C");

    Consumer consumer = new DefaultConsumer(listeningChannel) {
        @Override/* w ww  .  j av  a  2  s .  co m*/
        public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
                byte[] body) throws IOException {
            try {
                message = new String(body, "UTF-8");
                System.out.println(" [x] Received '" + message + "'");

                String[] arr = message.split(",");

                //                    String ssnFix = arr[0].substring(2);
                String dashRemoved = arr[0].replace("-", "");

                Result res = new Result(dashRemoved, Integer.parseInt(arr[1]), Double.parseDouble(arr[2]),
                        theDateAdder(Integer.parseInt(arr[3])));

                JAXBContext jaxbContext = JAXBContext.newInstance(Result.class);
                Marshaller jaxbMarshaller = jaxbContext.createMarshaller();

                StringWriter sw = new StringWriter();
                jaxbMarshaller.marshal(res, sw);
                String xmlString = sw.toString();

                xmlString = xmlString.replace("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>",
                        "");

                System.out.println(xmlString);
                // HANDLE MESSAGE HERE

                sendingChannel.exchangeDeclare(SENDING_QUEUE_NAME, "fanout");
                String test = sendingChannel.queueDeclare().getQueue();
                sendingChannel.queueBind(test, SENDING_QUEUE_NAME, "");
                sendingChannel.basicPublish("", SENDING_QUEUE_NAME, props, xmlString.getBytes());

            } catch (JAXBException ex) {
                Logger.getLogger(Translator.class.getName()).log(Level.SEVERE, null, ex);
            }

        }
    };
    listeningChannel.basicConsume(LISTENING_QUEUE_NAME, true, consumer);

}

From source file:com.mycompany.dreamteamjsontranslator.Translator.java

public static void main(String[] args) throws IOException {

    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("datdb.cphbusiness.dk");
    factory.setUsername("Dreamteam");
    factory.setPassword("bastian");
    Connection connection = factory.newConnection();
    final Channel listeningChannel = connection.createChannel();
    final Channel sendingChannel = connection.createChannel();

    listeningChannel.queueDeclare(LISTENING_QUEUE_NAME, false, false, false, null);

    listeningChannel.queueBind(LISTENING_QUEUE_NAME, EXCHANGE_NAME, "DreamTeamBankJSON");

    System.out.println(" [*] Waiting for messages. To exit press CTRL+C");

    Consumer consumer = new DefaultConsumer(listeningChannel) {
        @Override//from   w  w  w .ja  v  a  2  s  .com
        public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
                byte[] body) throws IOException {
            System.out.println("Hello");
            message = new String(body, "UTF-8");
            System.out.println(" [x] Received '" + message + "'");

            String[] arr = message.split(",");

            Result res = new Result(arr[0], Integer.parseInt(arr[1]), Double.parseDouble(arr[2]),
                    Integer.parseInt(arr[3]));

            String result = gson.toJson(res);

            sendingChannel.queueDeclare(SENDING_QUEUE_NAME, false, false, false, null);
            sendingChannel.basicPublish("", SENDING_QUEUE_NAME, null, result.getBytes());

        }
    };
    listeningChannel.basicConsume(LISTENING_QUEUE_NAME, true, consumer);

}

From source file:com.mycompany.javateste.queues.pubsub.ReceiveLogs.java

public static void main(String[] argv) throws Exception {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("localhost");
    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();

    channel.exchangeDeclare(EXCHANGE_NAME, "fanout");
    String queueName = channel.queueDeclare().getQueue();
    channel.queueBind(queueName, EXCHANGE_NAME, "");

    System.out.println(" [*] Waiting for messages. To exit press CTRL+C");

    Consumer consumer = new DefaultConsumer(channel) {
        @Override/*w  w  w.  ja  v  a 2  s . c o  m*/
        public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
                byte[] body) throws IOException {
            String message = new String(body, "UTF-8");
            System.out.println(" [x] Received '" + message + "'");
        }
    };
    channel.basicConsume(queueName, true, consumer);
}