List of usage examples for com.rabbitmq.client BasicProperties getTimestamp
public abstract Date getTimestamp();
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); }/*from ww w . jav a 2 s .c om*/ 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); }// ww w. j a va2 s.c om 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:flens.input.AMQPInput.java
License:Apache License
@Override public void handleDelivery(String consumerTag, Envelope envelope, BasicProperties properties, byte[] body) throws IOException { Map<String, Object> fields = new HashMap<String, Object>(); fields.put("tag", consumerTag); fields.put("body", body); fields.put("mine-type", properties.getContentEncoding()); Date time = properties.getTimestamp(); long timel = time == null ? System.currentTimeMillis() : time.getTime(); Record r = Record.createWithTimeAndValues(timel, fields); dispatch(r);// w w w . j a va 2s. c om }
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//from ww w . j a v a 2 s . c om */ @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:org.apache.axis2.transport.amqp.common.AMQPUtils.java
License:Apache License
/** * Extract transport level headers for AMQP from the given message into a Map * // ww w.ja va2s . 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.apache.flume.RabbitMQUtil.java
License:Apache License
private static void setTimestamp(Map<String, String> headers, BasicProperties properties) { Date date = properties.getTimestamp() == null ? new Date() : properties.getTimestamp(); Long value = date.getTime();//from w ww . j a v a 2 s . c o m headers.put("timestamp", value.toString()); }
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 av a 2 s . co 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()); }
From source file:org.mule.transport.amqp.AmqpMuleMessageFactoryTestCase.java
License:Open Source License
public static void checkInboundProperties(final AmqpMessage amqpMessage, final MuleMessage muleMessage) { assertEquals(amqpMessage.getConsumerTag(), muleMessage.getProperty(AmqpConstants.CONSUMER_TAG, PropertyScope.INBOUND)); final Envelope envelope = amqpMessage.getEnvelope(); assertEquals(envelope.getDeliveryTag(), muleMessage.getProperty(AmqpConstants.DELIVERY_TAG, PropertyScope.INBOUND)); assertEquals(envelope.isRedeliver(), muleMessage.getProperty(AmqpConstants.REDELIVER, PropertyScope.INBOUND)); assertEquals(envelope.getExchange(), muleMessage.getProperty(AmqpConstants.EXCHANGE, PropertyScope.INBOUND)); assertEquals(envelope.getRoutingKey(), muleMessage.getProperty(AmqpConstants.ROUTING_KEY, PropertyScope.INBOUND)); final BasicProperties amqpProperties = amqpMessage.getProperties(); assertEquals(amqpProperties.getAppId(), muleMessage.getProperty(AmqpConstants.APP_ID, PropertyScope.INBOUND)); assertEquals(amqpProperties.getContentEncoding(), muleMessage.getProperty(AmqpConstants.CONTENT_ENCODING, PropertyScope.INBOUND)); assertEquals(amqpProperties.getContentType(), muleMessage.getProperty(AmqpConstants.CONTENT_TYPE, PropertyScope.INBOUND)); assertEquals(amqpProperties.getCorrelationId(), muleMessage.getProperty(AmqpConstants.CORRELATION_ID, PropertyScope.INBOUND)); assertEquals(amqpProperties.getCorrelationId(), muleMessage.getCorrelationId()); assertEquals(amqpProperties.getDeliveryMode(), muleMessage.getProperty(AmqpConstants.DELIVERY_MODE, PropertyScope.INBOUND)); assertEquals(amqpProperties.getExpiration(), muleMessage.getProperty(AmqpConstants.EXPIRATION, PropertyScope.INBOUND)); assertEquals(amqpProperties.getMessageId(), muleMessage.getProperty(AmqpConstants.MESSAGE_ID, PropertyScope.INBOUND)); assertEquals(amqpProperties.getMessageId(), muleMessage.getUniqueId()); assertEquals(amqpProperties.getPriority(), muleMessage.getProperty(AmqpConstants.PRIORITY, PropertyScope.INBOUND)); assertEquals(amqpProperties.getReplyTo(), muleMessage.getProperty(AmqpConstants.REPLY_TO, PropertyScope.INBOUND)); assertEquals(amqpProperties.getReplyTo(), muleMessage.getReplyTo()); assertEquals(amqpProperties.getTimestamp(), muleMessage.getProperty(AmqpConstants.TIMESTAMP, PropertyScope.INBOUND)); assertEquals(amqpProperties.getType(), muleMessage.getProperty(AmqpConstants.TYPE, PropertyScope.INBOUND)); assertEquals(amqpProperties.getUserId(), muleMessage.getProperty(AmqpConstants.USER_ID, PropertyScope.INBOUND)); for (final Entry<String, Object> header : amqpProperties.getHeaders().entrySet()) { assertEquals(header.getValue(), muleMessage.getProperty(header.getKey(), PropertyScope.INBOUND)); }//w ww .j av a 2 s.c o m }
From source file:org.mule.transport.amqp.internal.domain.AmqpMuleMessageFactory.java
License:Open Source License
private void addBasicProperties(final BasicProperties amqpProperties, final DefaultMuleMessage muleMessage, final Map<String, Object> messageProperties) { if (amqpProperties == null) return;/*w w w .j a v a 2 s. c o m*/ putIfNonNull(AmqpConnector.MESSAGE_PROPERTY_APP_ID, amqpProperties.getAppId(), messageProperties); putIfNonNull(AmqpConnector.MESSAGE_PROPERTY_CONTENT_ENCODING, amqpProperties.getContentEncoding(), messageProperties); putIfNonNull(AmqpConnector.MESSAGE_PROPERTY_CONTENT_TYPE, amqpProperties.getContentType(), messageProperties); final String correlationId = amqpProperties.getCorrelationId(); putIfNonNull(AmqpConnector.MESSAGE_PROPERTY_CORRELATION_ID, correlationId, messageProperties); putIfNonNull(MuleProperties.MULE_CORRELATION_ID_PROPERTY, correlationId, messageProperties); muleMessage.setCorrelationId(correlationId); putIfNonNull(AmqpConnector.MESSAGE_PROPERTY_DELIVERY_MODE, amqpProperties.getDeliveryMode(), messageProperties); putIfNonNull(AmqpConnector.MESSAGE_PROPERTY_EXPIRATION, amqpProperties.getExpiration(), messageProperties); final String messageId = amqpProperties.getMessageId(); putIfNonNull(AmqpConnector.MESSAGE_PROPERTY_MESSAGE_ID, messageId, messageProperties); putIfNonNull(MuleProperties.MULE_MESSAGE_ID_PROPERTY, messageId, messageProperties); muleMessage.setUniqueId(messageId == null ? UUID.getUUID() : messageId); final String clusterId = amqpProperties.getClusterId(); putIfNonNull(AmqpConnector.MESSAGE_PROPERTY_CLUSTER_ID, clusterId, messageProperties); putIfNonNull(AmqpConnector.MESSAGE_PROPERTY_PRIORITY, amqpProperties.getPriority(), messageProperties); final String replyTo = amqpProperties.getReplyTo(); putIfNonNull(AmqpConnector.MESSAGE_PROPERTY_REPLY_TO, replyTo, messageProperties); muleMessage.setReplyTo(replyTo); putIfNonNull(AmqpConnector.MESSAGE_PROPERTY_TIMESTAMP, amqpProperties.getTimestamp(), messageProperties); putIfNonNull(AmqpConnector.MESSAGE_PROPERTY_TYPE, amqpProperties.getType(), messageProperties); putIfNonNull(AmqpConnector.MESSAGE_PROPERTY_USER_ID, amqpProperties.getUserId(), messageProperties); }