Example usage for com.rabbitmq.client Channel queueDeclare

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

Introduction

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

Prototype

Queue.DeclareOk queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete,
        Map<String, Object> arguments) throws IOException;

Source Link

Document

Declare a queue

Usage

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

public void init() {
    try {// www.  ja va2  s.co  m
        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.mycompany.aggregator.Aggregator.java

public void subscribe() throws Exception, TimeoutException, IOException {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("localhost");
    factory.setUsername(USERNAME);/*  ww w .  j  a va 2s .co  m*/
    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 w  w .  ja  v  a  2 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/*from ww w .j ava  2 s. c  om*/
        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//  ww w .  j ava2  s.c o m
        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.dreamteamxml.DreamTeamXML.java

public void sender(double interestRate, String ssn) throws IOException {

    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("datdb.cphbusiness.dk");
    factory.setVirtualHost("student");
    factory.setUsername("Dreamteam");
    factory.setPassword("bastian");
    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();

    channel.queueDeclare(SENDING_QUEUE_NAME, false, false, false, null);

    String message = "<LoanResponse>" + "<interestRate>" + interestRate + "</interestRate>" + "<ssn>" + ssn
            + "</ssn>" + "</LoanResponse>";

    System.out.println("Message created as soap");

    channel.basicPublish("", SENDING_QUEUE_NAME, null, message.getBytes());

    System.out.println(" [x] Sent '" + message + "'");

    channel.close();/*from   ww  w  . ja  va2s. co  m*/
    connection.close();

}

From source file:com.mycompany.javateste.queues.Recv.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.queueDeclare(QUEUE_NAME, false, false, false, null);
    System.out.println(" [*] Waiting for messages. To exit press CTRL+C");

    Consumer consumer = new DefaultConsumer(channel) {
        @Override/*from 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 {
            String message = new String(body, "UTF-8");
            System.out.println(" [x] Received '" + message + "'");
        }
    };
    channel.basicConsume(QUEUE_NAME, true, consumer);
}

From source file:com.mycompany.javateste.queues.Send.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.queueDeclare(QUEUE_NAME, false, false, false, null);
    String message = "Hello World!";
    channel.basicPublish("", QUEUE_NAME, null, message.getBytes("UTF-8"));
    System.out.println(" [x] Sent '" + message + "'");

    channel.close();/*from ww w  . j  a v  a  2  s .co m*/
    connection.close();
}

From source file:com.mycompany.javateste.queues.worktasks.NewTask.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.queueDeclare(TASK_QUEUE_NAME, true, false, false, null);

    String message = getMessage(argv);

    channel.basicPublish("", TASK_QUEUE_NAME, MessageProperties.PERSISTENT_TEXT_PLAIN,
            message.getBytes("UTF-8"));
    System.out.println(" [x] Sent '" + message + "'");

    channel.close();/*  ww  w. j a v a  2 s. co m*/
    connection.close();
}

From source file:com.mycompany.javateste.queues.worktasks.Worker.java

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

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

    channel.basicQos(1);/*from  w  w w .  j a v a2  s .c o m*/

    final Consumer 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");

            System.out.println(" [x] Received '" + message + "'");
            try {
                doWork(message);
            } finally {
                System.out.println(" [x] Done");
                channel.basicAck(envelope.getDeliveryTag(), false);
            }
        }
    };
    channel.basicConsume(TASK_QUEUE_NAME, false, consumer);
}