Example usage for com.rabbitmq.client BasicProperties getType

List of usage examples for com.rabbitmq.client BasicProperties getType

Introduction

In this page you can find the example usage for com.rabbitmq.client BasicProperties getType.

Prototype

public abstract String getType();

Source Link

Document

Retrieve the value in the type field.

Usage

From source file:com.analogmountains.flume.RabbitMQSource.java

License:Open Source License

private Map<String, String> eventHeadersFromBasicProperties(BasicProperties properties) {
    Map<String, String> headers = new HashMap<String, String>();
    if (properties.getAppId() != null) {
        headers.put("appId", properties.getAppId());
    }/*from ww w.j a  v a  2  s.co  m*/
    if (properties.getContentEncoding() != null) {
        headers.put("contentEncoding", properties.getContentEncoding());
    }
    if (properties.getContentType() != null) {
        headers.put("contentType", properties.getContentType());
    }
    if (properties.getCorrelationId() != null) {
        headers.put("correlationId", properties.getCorrelationId());
    }
    if (properties.getDeliveryMode() != null) {
        headers.put("deliveryMode", Integer.toString(properties.getDeliveryMode()));
    }
    if (properties.getExpiration() != null) {
        headers.put("expiration", properties.getExpiration());
    }
    if (properties.getMessageId() != null) {
        headers.put("messageId", properties.getMessageId());
    }
    if (properties.getPriority() != null) {
        headers.put("priority", Integer.toString(properties.getPriority()));
    }
    if (properties.getReplyTo() != null) {
        headers.put("replyTo", properties.getReplyTo());
    }
    if (properties.getType() != null) {

        headers.put("type", properties.getType());
    }
    if (properties.getUserId() != null) {
        headers.put("userId", properties.getUserId());
    }
    return headers;
}

From source file:com.shopwiki.roger.MessagingUtil.java

License:Apache License

public static String prettyPrint(BasicProperties props) {
    StringBuilder sb = new StringBuilder();
    sb.append("\t" + "ContentType: " + props.getContentType() + "\n");
    sb.append("\t" + "ContentEncoding: " + props.getContentEncoding() + "\n");
    sb.append("\t" + "Headers: " + props.getHeaders() + "\n");
    sb.append("\t" + "DeliveryMode: " + props.getDeliveryMode() + "\n");
    sb.append("\t" + "Priority: " + props.getPriority() + "\n");
    sb.append("\t" + "CorrelationId: " + props.getCorrelationId() + "\n");
    sb.append("\t" + "ReplyTo: " + props.getReplyTo() + "\n");
    sb.append("\t" + "Expiration: " + props.getExpiration() + "\n");
    sb.append("\t" + "MessageId: " + props.getMessageId() + "\n");
    sb.append("\t" + "Timestamp: " + props.getTimestamp() + "\n");
    sb.append("\t" + "Type: " + props.getType() + "\n");
    sb.append("\t" + "UserId: " + props.getUserId() + "\n");
    sb.append("\t" + "AppId: " + props.getAppId());
    return sb.toString();
}

From source file:com.springsource.insight.plugin.rabbitmqClient.AbstractRabbitMQCollectionAspect.java

License:Apache License

protected void applyPropertiesData(Operation op, BasicProperties props) {
    OperationMap map = op.createMap("props");

    map.putAnyNonEmpty("Type", props.getType());
    map.putAnyNonEmpty("App Id", props.getAppId());
    map.putAnyNonEmpty("User Id", props.getUserId());
    map.put("Class Id", props.getClassId());
    map.putAnyNonEmpty("Reply To", props.getReplyTo());
    map.putAnyNonEmpty("Priority", props.getPriority());
    map.putAnyNonEmpty("Class Name", props.getClassName());
    map.putAnyNonEmpty("Timestamp", props.getTimestamp());
    map.putAnyNonEmpty("Message Id", props.getMessageId());
    map.putAnyNonEmpty("Expiration", props.getExpiration());
    map.putAnyNonEmpty("Content Type", props.getContentType());
    map.putAnyNonEmpty("Delivery Mode", props.getDeliveryMode());
    map.putAnyNonEmpty("Correlation Id", props.getCorrelationId());
    map.putAnyNonEmpty("Content Encoding", props.getContentEncoding());

    Map<String, Object> headers = props.getHeaders();

    if (headers != null) {
        OperationMap headersMap = op.createMap("headers");

        for (Entry<String, Object> entry : headers.entrySet()) {
            Object value = entry.getValue();

            if (value instanceof LongString) {
                byte[] bytes = ((LongString) value).getBytes();
                value = new String(bytes);
            }/* w  w w.ja v a  2  s. co  m*/

            headersMap.putAnyNonEmpty(entry.getKey(), value);
        }
    }
}

From source file:com.streamsets.pipeline.stage.origin.rabbitmq.RabbitSource.java

License:Apache License

@Override
public String produce(String lastSourceOffset, int maxBatchSize, BatchMaker batchMaker) throws StageException {
    if (!isConnected() && !conf.advanced.automaticRecoveryEnabled) {
        // If we don't have automatic recovery enabled and the connection is closed, we should stop the pipeline.
        throw new StageException(Errors.RABBITMQ_05);
    }//from  ww  w .j  a va  2 s. c o m

    long maxTime = System.currentTimeMillis() + conf.basicConfig.maxWaitTime;
    int maxRecords = Math.min(maxBatchSize, conf.basicConfig.maxBatchSize);
    int numRecords = 0;
    String nextSourceOffset = lastSourceOffset;
    while (System.currentTimeMillis() < maxTime && numRecords < maxRecords) {
        try {
            RabbitMessage message = messages.poll(conf.basicConfig.maxWaitTime, TimeUnit.MILLISECONDS);
            if (message == null) {
                continue;
            }
            String recordId = message.getEnvelope().toString();
            List<Record> records = parseRabbitMessage(recordId, message.getBody());
            for (Record record : records) {
                Envelope envelope = message.getEnvelope();
                BasicProperties properties = message.getProperties();
                Record.Header outHeader = record.getHeader();
                if (envelope != null) {
                    setHeaderIfNotNull(outHeader, "deliveryTag", envelope.getDeliveryTag());
                    setHeaderIfNotNull(outHeader, "exchange", envelope.getExchange());
                    setHeaderIfNotNull(outHeader, "routingKey", envelope.getRoutingKey());
                    setHeaderIfNotNull(outHeader, "redelivered", envelope.isRedeliver());
                }
                setHeaderIfNotNull(outHeader, "contentType", properties.getContentType());
                setHeaderIfNotNull(outHeader, "contentEncoding", properties.getContentEncoding());
                setHeaderIfNotNull(outHeader, "deliveryMode", properties.getDeliveryMode());
                setHeaderIfNotNull(outHeader, "priority", properties.getPriority());
                setHeaderIfNotNull(outHeader, "correlationId", properties.getCorrelationId());
                setHeaderIfNotNull(outHeader, "replyTo", properties.getReplyTo());
                setHeaderIfNotNull(outHeader, "expiration", properties.getExpiration());
                setHeaderIfNotNull(outHeader, "messageId", properties.getMessageId());
                setHeaderIfNotNull(outHeader, "timestamp", properties.getTimestamp());
                setHeaderIfNotNull(outHeader, "messageType", properties.getType());
                setHeaderIfNotNull(outHeader, "userId", properties.getUserId());
                setHeaderIfNotNull(outHeader, "appId", properties.getAppId());
                Map<String, Object> inHeaders = properties.getHeaders();
                if (inHeaders != null) {
                    for (Map.Entry<String, Object> pair : inHeaders.entrySet()) {
                        // I am concerned about overlapping with the above headers but it seems somewhat unlikely
                        // in addition the behavior of copying these attributes in with no custom prefix is
                        // how the jms origin behaves
                        setHeaderIfNotNull(outHeader, pair.getKey(), pair.getValue());
                    }
                }
                batchMaker.addRecord(record);
                nextSourceOffset = outHeader.getAttribute("deliveryTag");
                numRecords++;
            }
        } catch (InterruptedException e) {
            LOG.warn("Pipeline is shutting down.");
        }
    }
    return nextSourceOffset;
}

From source file:gash.router.server.MessageServer.java

License:Apache License

public void createQueue() throws IOException, ShutdownSignalException, ConsumerCancelledException,
        InterruptedException, SQLException {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("localhost");
    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();
    channel.queueDeclare("inbound_queue", false, false, false, null);
    channel.basicQos(1);/*from  ww w  .  j  ava  2  s  .c  o  m*/
    postgre = new PostgreSQL(url, username, password, dbname, ssl);
    QueueingConsumer consumer = new QueueingConsumer(channel);
    channel.basicConsume("inbound_queue", false, consumer);
    //       Map<String, byte[]> map = new HashMap<String, byte[]>();
    while (true) {
        QueueingConsumer.Delivery delivery = consumer.nextDelivery();
        BasicProperties props = delivery.getProperties();
        String request = props.getType();
        System.out.println(request);

        if (request != null) {
            if (request.equals("get")) {
                String key = new String(delivery.getBody());
                BasicProperties replyProps = new BasicProperties.Builder()
                        .correlationId(props.getCorrelationId()).build();
                byte[] image = postgre.get(key);
                channel.basicPublish("", props.getReplyTo(), replyProps, image);
                channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);
            }

            if (request.equals("put")) {
                byte[] image = delivery.getBody();
                postgre.put(props.getUserId(), image);
                BasicProperties replyProps = new BasicProperties.Builder()
                        .correlationId(props.getCorrelationId()).build();

                channel.basicPublish("", props.getReplyTo(), replyProps, image);
                channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);
            }
            if (request.equals("post")) {
                System.out.println("Message Server");
                String key = postgre.post(delivery.getBody());
                BasicProperties replyProps = new BasicProperties.Builder()
                        .correlationId(props.getCorrelationId()).build();

                channel.basicPublish("", props.getReplyTo(), replyProps, key.getBytes());
                channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);
            }
            if (request.equals("delete")) {
                String key = new String(delivery.getBody());
                postgre.delete(key);
            }

        }
    }
}

From source file:joram.bridgeamqp.AMQPReceiver.java

License:Open Source License

public void handleDelivery(String consumerTag, Envelope envelope, BasicProperties properties, byte[] body)
        throws IOException {
    byte type = Byte.parseByte(properties.getType());
    if (type == org.objectweb.joram.shared.messages.Message.TEXT) {
        String text = (String) getBody(body);
        //      System.out.println("receive msg = " + text);
        TestCase.assertEquals("Message number " + nbmsgs, text);
    } else {//from  w  w  w.  ja v a2 s .c  om
        TestCase.assertTrue("Message type should be Text", false);
    }
    nbmsgs += 1;
}

From source file:net.echinopsii.ariane.community.messaging.rabbitmq.MsgTranslator.java

License:Open Source License

/**
 * Decode given Message into Map message
 * @param message a RabbitMQ friendly message
 * @return Map message/*ww w .  j a v a 2s  . c  o m*/
 */
@Override
public Map<String, Object> decode(Message message) {
    Envelope envelope = message.getEnvelope();
    BasicProperties properties = (BasicProperties) message.getProperties();
    byte[] body = message.getBody();

    LinkedHashMap<String, Object> decodedMessage = new LinkedHashMap<String, Object>();
    if (envelope != null) {
        decodedMessage.put(MSG_RBQ_DELIVERY_TAG, envelope.getDeliveryTag());
        decodedMessage.put(MSG_RBQ_EXCHANGE, envelope.getExchange());
        decodedMessage.put(MSG_RBQ_ROUTINGKEY, envelope.getRoutingKey());
    }

    if (properties != null) {
        decodedMessage.put(MSG_APPLICATION_ID, properties.getAppId());
        decodedMessage.put(MSG_RBQ_CONTENT_ENCODING, properties.getContentEncoding());
        decodedMessage.put(MSG_RBQ_CONTENT_TYPE, properties.getContentType());
        decodedMessage.put(MSG_CORRELATION_ID, properties.getCorrelationId());
        decodedMessage.put(MSG_DELIVERY_MODE, properties.getDeliveryMode());
        decodedMessage.put(MSG_EXPIRATION, properties.getExpiration());
        decodedMessage.put(MSG_MESSAGE_ID, properties.getMessageId());
        decodedMessage.put(MSG_PRIORITY, properties.getPriority());
        decodedMessage.put(MSG_REPLY_TO, properties.getReplyTo());
        decodedMessage.put(MSG_TIMESTAMP, properties.getTimestamp());
        decodedMessage.put(MSG_TYPE, properties.getType());
        decodedMessage.put(MSG_RBQ_USER_ID, properties.getUserId());
        Map<String, Object> headerFields = properties.getHeaders();
        if (headerFields != null) {
            for (String key : headerFields.keySet())
                if (headerFields.get(key) != null) {
                    if (headerFields.get(key) instanceof LongString)
                        decodedMessage.put(key, headerFields.get(key).toString());
                    else
                        decodedMessage.put(key, headerFields.get(key));
                } else
                    decodedMessage.put(key, headerFields.get(key));
        }
    }

    if (body.length == 0)
        decodedMessage.put(MSG_BODY, null);
    else
        decodedMessage.put(MSG_BODY, body);

    return decodedMessage;
}

From source file:net.sf.ehcache.amqp.AMQCachePeer.java

License:Apache License

@Override
public void handleDelivery(String consumerTag, Envelope envelope, BasicProperties properties, byte[] body)
        throws IOException {
    if (MESSAGE_TYPE_NAME.equals(properties.getType())) {
        AMQEventMessage message = readMessageIn(body);
        //            if (LOG.isDebugEnabled()) {
        //               LOG.debug("Received cache update " + message.getEvent() +" with element " + message.getElement());
        //            }
        Cache cache = cacheManager.getCache(message.getCacheName());
        if (cache == null) {
            handleMissingCache(message.getCacheName());
        } else if (!cache.getGuid().equals(message.getCacheGuid())) {
            // only handle the events that were published by other peers
            if (LOG.isDebugEnabled()) {
                LOG.debug("Cache=" + cache.getName() + " (" + cache.getGuid() + ") is handling event "
                        + message.getEvent() + " from peer=" + message.getCacheGuid());
            }// ww w  .  j  a v a 2s  . com
            handleCacheEvent(message, cache);
        }
    } else {
        LOG.warn("Received non cache message of unknown type");
    }

}

From source file:org.apache.axis2.transport.amqp.common.AMQPUtils.java

License:Apache License

/**
 * Extract transport level headers for AMQP from the given message into a Map
 * /*from   www.j  a v a2s.c  o m*/
 * @param message
 *            the AMQP message
 * @return a Map of the transport headers
 * @throws AxisFault 
 */
public static Map<String, Object> getTransportHeaders(AMQPMessage message) throws AxisFault {
    // create a Map to hold transport headers
    Map<String, Object> map = new HashMap<String, Object>();
    Map<String, Object> headers = message.getProperties().getHeaders();
    BasicProperties msg_prop = message.getProperties();
    Envelope msg_env = message.getEnvelope();

    // correlation ID
    if (msg_prop.getCorrelationId() != null) {
        map.put(AMQPConstants.AMQP_CORRELATION_ID, msg_prop.getCorrelationId());
    }
    // set the delivery mode as persistent or not
    map.put(AMQPConstants.AMQP_DELIVERY_MODE, Integer.toString(msg_prop.getDeliveryMode()));
    // FIXME ? Extract destination from... where?
    /*// destination name
     if (message.getAMQPDestination() != null) {
    Destination dest = message.getAMQPDestination();
    map.put(AMQPConstants.AMQP_DESTINATION, dest instanceof Queue ? ((Queue) dest).getQueueName() : ((Topic) dest).getTopicName());
     }*/
    // expiration
    map.put(AMQPConstants.AMQP_EXPIRATION, msg_prop.getExpiration());
    // if a AMQP message ID is found
    if (msg_prop.getMessageId() != null) {
        map.put(AMQPConstants.AMQP_MESSAGE_ID, msg_prop.getMessageId());
    }
    // priority
    map.put(AMQPConstants.AMQP_PRIORITY, Long.toString(msg_prop.getPriority()));
    // redelivered
    map.put(AMQPConstants.AMQP_REDELIVERED, Boolean.toString(msg_env.isRedeliver()));
    // replyto destination name
    if (msg_prop.getReplyTo() != null) {
        Destination dest = DestinationFactory.parseAddress(msg_prop.getReplyTo());
        map.put(AMQPConstants.AMQP_REPLY_TO, dest);
    }
    // priority
    map.put(AMQPConstants.AMQP_TIMESTAMP, Long.toString(msg_prop.getTimestamp().getTime()));
    // message type
    if (msg_prop.getType() != null) {
        map.put(AMQPConstants.AMQP_TYPE, msg_prop.getType());
    }
    // any other transport properties / headers
    Set<String> e = null;
    e = msg_prop.getHeaders().keySet();
    for (String headerName : e) {
        Object o = headers.get(e);
        if (o instanceof String)
            map.put(headerName, (String) o);
        if (o instanceof Boolean)
            map.put(headerName, (Boolean) o);
        if (o instanceof Integer)
            map.put(headerName, (Integer) o);
        if (o instanceof Long)
            map.put(headerName, (Long) o);
        if (o instanceof Double)
            map.put(headerName, (Double) o);
        if (o instanceof Float)
            map.put(headerName, (Float) o);
    }
    return map;
}

From source file:org.mule.transport.amqp.AmqpMuleMessageFactory.java

License:Open Source License

private void addBasicProperties(final DefaultMuleMessage muleMessage,
        final Map<String, Object> messageProperties, final BasicProperties amqpProperties) {
    if (amqpProperties == null)
        return;/*from   w w w .j  ava2s  . c o  m*/

    putIfNonNull(messageProperties, AmqpConstants.APP_ID, amqpProperties.getAppId());
    putIfNonNull(messageProperties, AmqpConstants.CONTENT_ENCODING, amqpProperties.getContentEncoding());
    putIfNonNull(messageProperties, AmqpConstants.CONTENT_TYPE, amqpProperties.getContentType());

    final String correlationId = amqpProperties.getCorrelationId();
    putIfNonNull(messageProperties, AmqpConstants.CORRELATION_ID, correlationId);
    putIfNonNull(messageProperties, MuleProperties.MULE_CORRELATION_ID_PROPERTY, correlationId);
    muleMessage.setCorrelationId(correlationId);

    putIfNonNull(messageProperties, AmqpConstants.DELIVERY_MODE, amqpProperties.getDeliveryMode());
    putIfNonNull(messageProperties, AmqpConstants.EXPIRATION, amqpProperties.getExpiration());

    final String messageId = amqpProperties.getMessageId();
    putIfNonNull(messageProperties, AmqpConstants.MESSAGE_ID, messageId);
    putIfNonNull(messageProperties, MuleProperties.MULE_MESSAGE_ID_PROPERTY, messageId);
    muleMessage.setUniqueId(messageId);

    putIfNonNull(messageProperties, AmqpConstants.PRIORITY, amqpProperties.getPriority());

    final String replyTo = amqpProperties.getReplyTo();
    putIfNonNull(messageProperties, AmqpConstants.REPLY_TO, replyTo);
    muleMessage.setReplyTo(replyTo);

    putIfNonNull(messageProperties, AmqpConstants.TIMESTAMP, amqpProperties.getTimestamp());
    putIfNonNull(messageProperties, AmqpConstants.TYPE, amqpProperties.getType());
    putIfNonNull(messageProperties, AmqpConstants.USER_ID, amqpProperties.getUserId());

    messageProperties.putAll(amqpProperties.getHeaders());
}