private static Map<String, Object> headers(final BasicProperties props, Envelope envelope) { Map<String, Object> result = props.getHeaders().entrySet().stream().collect(toMap(Entry::getKey, MessageFactory::headerValue)); result.put("DeliveryTag", envelope.getDeliveryTag()); result.put("Exchange", envelope.getExchange()); result.put("RoutingKey", envelope.getRoutingKey()); result.put("Redeliver", envelope.isRedeliver()); return result; }
private void populateRoutingInfoHeaders(final Message message, final Envelope envelope) { if (envelope != null) { message.setHeader(RabbitMQConstants.ROUTING_KEY, envelope.getRoutingKey()); message.setHeader(RabbitMQConstants.EXCHANGE_NAME, envelope.getExchange()); message.setHeader(RabbitMQConstants.DELIVERY_TAG, envelope.getDeliveryTag()); message.setHeader(RabbitMQConstants.REDELIVERY_TAG, envelope.isRedeliver()); } }
private Event parseMessage(Envelope envelope, AMQP.BasicProperties props, byte[] body) { // Create the event passing in the body Event event = EventBuilder.withBody(body); // Get the headers from properties, exchange, and routing-key Map<String, String> headers = buildHeaders(props); String exchange = envelope.getExchange(); if (exchange != null && !exchange.isEmpty()) { headers.put("exchange", exchange); } String routingKey = envelope.getRoutingKey(); if (routingKey != null && !routingKey.isEmpty()) { headers.put("routing-key", routingKey); } event.setHeaders(headers); return event; }
public void rePublish(GetResponse response) { Envelope envelope = response.getEnvelope(); try { channel.basicPublish(envelope.getExchange(), envelope.getRoutingKey(), response.getProps(), response.getBody()); } catch (IOException e) { e.printStackTrace(); } }
@Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { Object o = Jboot.me().getSerializer().deserialize(body); notifyListeners(envelope.getExchange(), o); } });
@Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String message = new String(body, UTF_8); //synchronized (channel) { try { listener.receive(channel, consumerTag, envelope, properties, message); if (LOGGER.isDebugEnabled()) { LOGGER.debug("Ack message with delivery tag '{}' from exchange '{}' on channel {}", envelope.getDeliveryTag(), envelope.getExchange(), channel.getChannelNumber()); } channel.basicAck(envelope.getDeliveryTag(), false); } catch (RuntimeException e) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Following exception occur while process message with tag '{}', NACK this message.", envelope.getDeliveryTag(), e); } channel.basicNack(envelope.getDeliveryTag(), false, false); } //} }
@Override public void handleDelivery(String consumerTag, Envelope envelope, BasicProperties properties, byte[] body) throws IOException { if (closed) return; long deliveryTag = envelope.getDeliveryTag(); channelHandler.maxDeliveryTag = deliveryTag = deliveryTag + channelHandler.previousMaxDeliveryTag; delegate.handleDelivery( consumerTag, new Envelope(deliveryTag, envelope.isRedeliver(), envelope.getExchange(), envelope.getRoutingKey()), properties, body); }
@Override public void handleDelivery(String consumerTag, Envelope envelope, BasicProperties properties, byte[] body) throws IOException { if (closed) return; long deliveryTag = envelope.getDeliveryTag(); channelHandler.maxDeliveryTag = deliveryTag = deliveryTag + channelHandler.previousMaxDeliveryTag; delegate.handleDelivery( consumerTag, new Envelope(deliveryTag, envelope.isRedeliver(), envelope.getExchange(), envelope.getRoutingKey()), properties, body); }
"messageHeaders", headers); unackedMessages.put(internalDeliverTag, System.currentTimeMillis()); final Envelope internalEnvelope = new Envelope(internalDeliverTag, envelope.isRedeliver(), envelope.getExchange(), envelope.getRoutingKey()); Acknowledger acknowledger = createAcknowledger(channel, internalEnvelope, headers, body); Message message = new Message(acknowledger, internalEnvelope, headers, body);
public static void populate(JsonObject json, Envelope envelope) { if (envelope == null) return; put("deliveryTag", envelope.getDeliveryTag(), json); put("isRedeliver", envelope.isRedeliver(), json); put("exchange", envelope.getExchange(), json); put("routingKey", envelope.getRoutingKey(), json); }
LOGGER.debug("Consumer {}: Received handle delivery", consumerTag); Message message = new Message(properties) .exchange(envelope.getExchange()) .routingKey(envelope.getRoutingKey()) .deliveryTag(envelope.getDeliveryTag())
target.setReceivedExchange(envelope.getExchange()); target.setReceivedRoutingKey(envelope.getRoutingKey()); target.setRedelivered(envelope.isRedeliver());
target.setReceivedExchange(envelope.getExchange()); target.setReceivedRoutingKey(envelope.getRoutingKey()); target.setRedelivered(envelope.isRedeliver());
/** * Construct a new message * * @param consumerTag the <i>consumer tag</i> associated with the consumer * @param envelope packaging data for the message * @param properties content header data for the message * @param body the message body (opaque, client-specific byte array) */ RabbitMQMessageImpl(byte[] body, String consumerTag, com.rabbitmq.client.Envelope envelope, AMQP.BasicProperties properties) { this.body = Buffer.buffer(body); this.consumerTag = consumerTag; this.envelope = new EnvelopeImpl(envelope.getDeliveryTag(), envelope.isRedeliver(), envelope.getExchange(), envelope.getRoutingKey()); this.properties = new BasicPropertiesImpl( properties.getContentType(), properties.getContentEncoding(), properties.getHeaders(), properties.getDeliveryMode(), properties.getPriority(), properties.getCorrelationId(), properties.getReplyTo(), properties.getExpiration(), properties.getMessageId(), properties.getTimestamp(), properties.getType(), properties.getUserId(), properties.getAppId(), properties.getClusterId() ); }
private DeliveredMessage(QueueingConsumer.Delivery delivery) { super(delivery.getBody()); redelivery = delivery.getEnvelope().isRedeliver(); deliveryTag = delivery.getEnvelope().getDeliveryTag(); routingKey = delivery.getEnvelope().getRoutingKey(); exchange = delivery.getEnvelope().getExchange(); className = delivery.getProperties().getClassName(); clusterId = delivery.getProperties().getClusterId(); contentEncoding = delivery.getProperties().getContentEncoding(); contentType = delivery.getProperties().getContentType(); correlationId = delivery.getProperties().getCorrelationId(); deliveryMode = delivery.getProperties().getDeliveryMode(); expiration = delivery.getProperties().getExpiration(); headers = delivery.getProperties().getHeaders(); messageId = delivery.getProperties().getMessageId(); priority = delivery.getProperties().getPriority(); replyTo = delivery.getProperties().getReplyTo(); timestamp = delivery.getProperties().getTimestamp(); type = delivery.getProperties().getType(); userId = delivery.getProperties().getUserId(); }