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:dk.bankjsonrabbit.messaging.Send.java

public static void sendMessage(String message, BasicProperties props) throws IOException, TimeoutException {
    String taskQueueName = props.getReplyTo();

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

    channel.queueDeclare(taskQueueName, true, false, false, null);

    channel.basicPublish("", taskQueueName, props, message.getBytes());

    channel.close();/*  w ww.j  a v a2s .  c o  m*/
    connection.close();
}

From source file:dk.cphbusiness.group11.Translators.PoorBankWS.TranslatorPoorBankWS.java

public void run() throws Exception {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("datdb.cphbusiness.dk");
    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();

    channel.exchangeDeclare(RECEIVING_QUEUE, "fanout");
    String queueName = channel.queueDeclare(RECEIVING_QUEUE, false, false, false, null).getQueue();
    channel.queueBind(queueName, RECEIVING_QUEUE, "");
    System.out.println("Waiting for messages on queue: " + RECEIVING_QUEUE);

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

    while (this.isRunning) {
        QueueingConsumer.Delivery delivery = consumer.nextDelivery();
        String message = new String(delivery.getBody());

        System.out.println("Received '" + message + "'");

        this.parseAndProcessXmlMessage(message);
    }/* w  w  w .j  a va 2s  .c o  m*/
}

From source file:dk.getcreditscore.messaging.Send.java

public static void sendMessage(String message) throws IOException {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("datdb.cphbusiness.dk");
    factory.setUsername("student");
    factory.setPassword("cph");
    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();

    channel.queueDeclare(TASK_QUEUE_NAME, true, false, false, null);

    channel.basicPublish("", TASK_QUEUE_NAME, MessageProperties.PERSISTENT_TEXT_PLAIN, message.getBytes());

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

From source file:dreamteamjson.DreamTeamJSON.java

/**
 * @param args the command line arguments
 * @throws java.io.IOException//ww w .java 2s.c  o m
 */
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();
    Channel listeningChannel = connection.createChannel();
    Channel sendingChannel = connection.createChannel();

    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
        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 + "'");

            Message m = gson.fromJson(message, Message.class);
            System.out.println(m.toString());

            double interestRate = 14;

            if (m.creditScore > 600) {
                interestRate -= 4.5;
            } else if (m.creditScore < 601 && m.creditScore > 500) {
                interestRate -= 2.7;
            } else if (m.creditScore < 501 && m.creditScore > 400) {
                interestRate -= 0.9;
            }

            int durationCut = m.loanDuration / 360;

            interestRate -= (durationCut * 0.18);

            double amountCut = m.loanAmount / 100000;

            interestRate -= (amountCut * 0.18);

            // Insert bank logic

            String loanResponse = "{\"interestRate\":" + interestRate + ",\"ssn\":" + m.ssn + "}";

            sendingChannel.queueDeclare(SENDING_QUEUE_NAME, false, false, false, null);
            sendingChannel.basicPublish("", SENDING_QUEUE_NAME, null, loanResponse.getBytes());
        }
    };
    listeningChannel.basicConsume(LISTENING_QUEUE_NAME, true, consumer);

}

From source file:dreamteamxmltranslator.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();
    Channel channel = connection.createChannel();

    channel.queueDeclare(LISTENING_QUEUE_NAME, false, false, false, null);
    channel.queueBind(LISTENING_QUEUE_NAME, EXCHANGE_NAME, "DreamTeamBankXML");

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

    Consumer consumer = new DefaultConsumer(channel) {
        @Override/*from w w  w.j  av  a2  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(",");
                tester(arr);
            } catch (IOException_Exception ex) {
                Logger.getLogger(Translator.class.getName()).log(Level.SEVERE, null, ex);
            }

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

}

From source file:dummyloanbroker.DummyLoanBroker.java

public static void main(String[] args) throws IOException {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("datdb.cphbusiness.dk");
    factory.setUsername("student");
    factory.setPassword("cph");
    com.rabbitmq.client.Connection connection = factory.newConnection();
    com.rabbitmq.client.Channel channel = connection.createChannel();
    String corrId = java.util.UUID.randomUUID().toString();

    LoanRequestDTO loanRequest = new LoanRequestDTO("123456-7890", 456289.0, 25, -1);

    Gson gson = new Gson();

    String message = gson.toJson(loanRequest);

    AMQP.BasicProperties props = new AMQP.BasicProperties.Builder().correlationId(corrId).build();
    channel.queueDeclare(TASK_QUEUE_NAME, true, false, false, null);

    channel.basicPublish("", TASK_QUEUE_NAME, props, message.getBytes());

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

From source file:edu.iit.rabbitmq.Queue.java

/**
 *
 * @return/*from w  w w. j  a  va2s  .  co m*/
 */
protected Channel getChannel() {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost(RABBITMQ);
    Channel channel = null;
    try {
        Connection connection = factory.newConnection();
        channel = connection.createChannel();
        channel.queueDeclare(QUEUENAME, false, false, false, null);
    } catch (Exception e) {
        System.out.println("Queue already exists, moving on");
    }
    return channel;
}

From source file:edu.iit.rabbitmq.Send.java

/**
 *
 * @param message//w w w.ja va  2  s  .co  m
 * @throws Exception
 */
public void sendMessage(String message) throws Exception {

    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost(RABBITMQ);
    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();
    try {
        channel.queueDeclare(QUEUENAME, false, false, false, null);
    } catch (Exception e) {
        System.out.println("Queue already exists, moving on");
    }

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

    channel.close();
    connection.close();
}

From source file:edu.jhu.pha.vospace.jobs.JobsProcessorQueuedImpl.java

License:Apache License

@Override
public void run() {
    final JobsProcessor parentProc = this;
    QueueConnector.goAMQP("submitJob", new QueueConnector.AMQPWorker<Boolean>() {
        @Override//from ww  w. j ava 2 s .  c  om
        public Boolean go(com.rabbitmq.client.Connection conn, com.rabbitmq.client.Channel channel)
                throws IOException {

            channel.exchangeDeclare(conf.getString("transfers.exchange.submited"), "topic", true);

            channel.queueDeclare(conf.getString("transfers.queue.submited.server_initialised"), true, false,
                    false, null);

            channel.queueBind(conf.getString("transfers.queue.submited.server_initialised"),
                    conf.getString("transfers.exchange.submited"),
                    "direction." + JobDescription.DIRECTION.PUSHFROMVOSPACE);
            channel.queueBind(conf.getString("transfers.queue.submited.server_initialised"),
                    conf.getString("transfers.exchange.submited"),
                    "direction." + JobDescription.DIRECTION.PULLTOVOSPACE);
            channel.queueBind(conf.getString("transfers.queue.submited.server_initialised"),
                    conf.getString("transfers.exchange.submited"),
                    "direction." + JobDescription.DIRECTION.LOCAL);

            QueueingConsumer consumer = new QueueingConsumer(channel);
            channel.basicConsume(conf.getString("transfers.queue.submited.server_initialised"), false,
                    consumer);

            try {
                // The main cycle to process the jobs
                while (!jobsThread.isInterrupted()) {

                    for (Iterator<Future<STATE>> it = workers.iterator(); it.hasNext();) {
                        Future<STATE> next = it.next();
                        if (next.isDone()) {
                            it.remove();
                            logger.debug("Job " + next + " is removed from the workers.");
                        }
                    }

                    if (workers.size() >= jobsPoolSize) {
                        logger.debug("Waiting for a jobs pool, size: " + workers.size());
                        synchronized (JobsProcessor.class) {
                            JobsProcessor.class.wait();
                        }
                        logger.debug("End waiting for a jobs pool, size: " + workers.size());
                    } else {
                        logger.debug("Waiting for a job");
                        QueueingConsumer.Delivery delivery = consumer.nextDelivery();

                        // Job JSON notation
                        JobDescription job = (new ObjectMapper()).readValue(delivery.getBody(), 0,
                                delivery.getBody().length, JobDescription.class);

                        logger.debug("There's a submited job! " + job.getId());

                        TransferThread thread = new TransferThread(job, parentProc);

                        Future<STATE> future = service.submit(thread);

                        workers.add(future);
                        channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);
                    }
                }
            } catch (InterruptedException ex) {
                // server restarted
            }

            return true;
        }
    });

}

From source file:edu.jhu.pha.vospace.process.NodeProcessor.java

License:Apache License

@Override
public void run() {
    QueueConnector.goAMQP("nodesProcessor", new QueueConnector.AMQPWorker<Boolean>() {
        @Override/*from   w w  w  .ja  v  a2s  . c  o  m*/
        public Boolean go(com.rabbitmq.client.Connection conn, com.rabbitmq.client.Channel channel)
                throws IOException {

            channel.exchangeDeclare(conf.getString("process.exchange.nodeprocess"), "fanout", true);
            channel.exchangeDeclare(conf.getString("vospace.exchange.nodechanged"), "fanout", false);

            channel.queueDeclare(conf.getString("process.queue.nodeprocess"), true, false, false, null);

            channel.queueBind(conf.getString("process.queue.nodeprocess"),
                    conf.getString("process.exchange.nodeprocess"), "");

            QueueingConsumer consumer = new QueueingConsumer(channel);
            channel.basicConsume(conf.getString("process.queue.nodeprocess"), false, consumer);

            while (!Thread.currentThread().isInterrupted()) {

                Node node = null;

                try {
                    QueueingConsumer.Delivery delivery = consumer.nextDelivery();

                    Map<String, Object> nodeData = (new ObjectMapper()).readValue(delivery.getBody(), 0,
                            delivery.getBody().length, new TypeReference<HashMap<String, Object>>() {
                            });

                    channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);
                    node = NodeFactory.getNode(new VospaceId((String) nodeData.get("uri")),
                            (String) nodeData.get("owner"));

                    logger.debug("Node changed: " + nodeData.get("uri") + " " + nodeData.get("owner") + " "
                            + node.getType());

                    switch (node.getType()) {
                    case DATA_NODE:
                    case STRUCTURED_DATA_NODE:
                    case UNSTRUCTURED_DATA_NODE: {
                        TikaInputStream inp = null;
                        try {
                            Metadata detectTikaMeta = new Metadata();
                            detectTikaMeta.set(Metadata.RESOURCE_NAME_KEY,
                                    node.getUri().getNodePath().getNodeName());
                            inp = TikaInputStream.get(node.exportData());
                            //MediaType type = new DefaultDetector().detect(inp, nodeTikaMeta);
                            List<Detector> list = new ArrayList<Detector>();
                            list.add(new SimulationDetector());
                            list.add(new DefaultDetector());
                            Detector detector = new CompositeDetector(list);

                            MediaType type = detector.detect(inp, detectTikaMeta);
                            node.getNodeInfo().setContentType(type.toString());
                            node.getMetastore().storeInfo(node.getUri(), node.getNodeInfo());

                            JsonNode credentials = UserHelper.getProcessorCredentials(node.getOwner());

                            boolean makeStructured = false;

                            List<String> externalLinks = new ArrayList<String>();
                            for (ProcessorConfig processorConf : ProcessingFactory.getInstance()
                                    .getProcessorConfigsForNode(node, credentials)) {
                                Metadata nodeTikaMeta = new Metadata();
                                nodeTikaMeta.set(TikaCoreProperties.SOURCE, node.getUri().toString());
                                nodeTikaMeta.set("owner", (String) nodeData.get("owner"));
                                nodeTikaMeta.set(TikaCoreProperties.TITLE,
                                        node.getUri().getNodePath().getNodeName());
                                nodeTikaMeta.add(TikaCoreProperties.METADATA_DATE, dateFormat
                                        .format(Calendar.getInstance(TimeZone.getTimeZone("UTC")).getTime()));

                                nodeTikaMeta.set(Metadata.CONTENT_LOCATION,
                                        ((DataNode) node).getHttpDownloadLink().toASCIIString());
                                nodeTikaMeta.set(Metadata.CONTENT_TYPE, type.toString());

                                AbstractParser parser;
                                TikaConfig config = TikaConfig.getDefaultConfig();
                                if (processorConf.getTikaConfig() != null) {
                                    config = new TikaConfig(
                                            getClass().getResourceAsStream(processorConf.getTikaConfig()));
                                }

                                parser = new CompositeParser(config.getMediaTypeRegistry(), config.getParser());

                                Processor processor = Processor.fromProcessorConfig(processorConf);

                                InputStream str = null;
                                try {
                                    str = TikaInputStream.get(node.exportData());
                                    parser.parse(str, processor.getContentHandler(), nodeTikaMeta,
                                            new ParseContext());
                                } finally {
                                    try {
                                        str.close();
                                    } catch (Exception ex) {
                                    }
                                }

                                // now do out-of-tika processing of results
                                try {
                                    processor.processNodeMeta(nodeTikaMeta,
                                            credentials.get(processorConf.getId()));
                                    logger.debug("Processing of " + node.getUri().toString() + " is finished.");

                                } catch (Exception e) {
                                    logger.error("Error processing the node. " + e.getMessage());
                                    e.printStackTrace();
                                    processError(node, e);
                                }

                                String[] links = nodeTikaMeta.getValues("EXTERNAL_LINKS");

                                if (null != links && links.length > 0) {
                                    externalLinks.addAll(Arrays.asList(links));
                                }

                                MediaType curType = MediaType.parse(nodeTikaMeta.get(Metadata.CONTENT_TYPE));
                                if (MIME_REGISTRY.isSpecializationOf(curType, type)) {
                                    type = curType;
                                    logger.debug("Media type reassigned to " + type.toString() + " by "
                                            + processorConf.getId());
                                }

                                String nodeTypeStr = nodeTikaMeta.get("NodeType");
                                if (null != nodeTypeStr
                                        && NodeType.valueOf(nodeTypeStr).equals(NodeType.STRUCTURED_DATA_NODE))
                                    makeStructured = true;
                            }

                            node.makeNodeStructured(makeStructured);

                            Map<String, String> properties = new HashMap<String, String>();
                            properties.put(PROCESSING_PROPERTY, "done");
                            if (externalLinks.size() > 0) {
                                properties.put(EXTERNAL_LINK_PROPERTY, StringUtils.join(externalLinks, ' '));
                            }
                            node.getNodeInfo().setContentType(type.toString());

                            node.getMetastore().updateUserProperties(node.getUri(), properties);
                            node.getMetastore().storeInfo(node.getUri(), node.getNodeInfo());

                            logger.debug("Updated node " + node.getUri().toString() + " to "
                                    + node.getNodeInfo().getContentType() + " and "
                                    + node.getNodeInfo().getSize());

                            // update node's container size metadata
                            try {
                                ContainerNode contNode = (ContainerNode) NodeFactory.getNode(
                                        new VospaceId(
                                                new NodePath(node.getUri().getNodePath().getContainerName())),
                                        node.getOwner());
                                node.getStorage().updateNodeInfo(contNode.getUri().getNodePath(),
                                        contNode.getNodeInfo());
                                node.getMetastore().storeInfo(contNode.getUri(), contNode.getNodeInfo());
                            } catch (URISyntaxException e) {
                                logger.error("Updating root node size failed: " + e.getMessage());
                            }

                            try {
                                nodeData.put("container",
                                        node.getUri().getNodePath().getParentPath().getNodeStoragePath());
                                byte[] jobSer = (new ObjectMapper()).writeValueAsBytes(nodeData);
                                channel.basicPublish(conf.getString("vospace.exchange.nodechanged"), "", null,
                                        jobSer);
                            } catch (IOException e) {
                                logger.error(e);
                            }
                        } catch (TikaException ex) {
                            logger.error("Error parsing the node " + node.getUri().toString() + ": "
                                    + ex.getMessage());
                            processError(node, ex);
                            ex.printStackTrace();
                        } catch (SAXException ex) {
                            logger.error("Error SAX parsing the node " + node.getUri().toString() + ": "
                                    + ex.getMessage());
                            processError(node, ex);
                        } catch (IOException ex) {
                            logger.error("Error reading the node " + node.getUri().toString() + ": "
                                    + ex.getMessage());
                            processError(node, ex);
                        } finally {
                            try {
                                inp.close();
                            } catch (Exception ex2) {
                            }
                            ;
                        }

                        break;
                    }
                    case CONTAINER_NODE: {
                        //                           DbPoolServlet.goSql("Processing nodes",
                        //                               "select * from nodes where owner = ?)",
                        //                                 new SqlWorker<Boolean>() {
                        //                                     @Override
                        //                                     public Boolean go(java.sql.Connection conn, java.sql.PreparedStatement stmt) throws SQLException {
                        //                                        stmt.setString(1, node.getOwner());
                        //                                         /*ResultSet resSet = stmt.executeQuery();
                        //                                         while(resSet.next()) {
                        //                                            String uriStr = resSet.getString(1);
                        //                                            String username = resSet.getString(2);
                        //                                            
                        //                                            try {
                        //                                               VospaceId uri = new VospaceId(uriStr);
                        //                                               
                        //                                               Node newNode = NodeFactory.getInstance().getNode(uri, username);
                        //                                               newNode.remove();
                        //                                            } catch(Exception ex) {
                        //                                               ex.printStackTrace();
                        //                                            }
                        //                                         }*/
                        //                                        return true;
                        //                                     }
                        //                                 }
                        //                        
                        //                            );
                        break;
                    }
                    default: {
                        break;
                    }
                    }

                } catch (InterruptedException ex) {
                    logger.error("Sleeping interrupted. " + ex.getMessage());
                    processError(node, ex);
                } catch (IOException ex) {
                    ex.printStackTrace();
                    logger.error("Error reading the changed node JSON: " + ex.getMessage());
                    processError(node, ex);
                } catch (URISyntaxException ex) {
                    logger.error("Error parsing VospaceId from changed node JSON: " + ex.getMessage());
                    processError(node, ex);
                }
            }

            return true;
        }
    });

}