Example usage for com.rabbitmq.client BasicProperties getDeliveryMode

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

Introduction

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

Prototype

public abstract Integer getDeliveryMode();

Source Link

Document

Retrieve the value in the deliveryMode field.

Usage

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 w  w .  j  av a2 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;/*from  w  w w  . j  av a 2s  .  co 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);
}

From source file:org.mule.transport.amqp.internal.domain.AmqpMuleMessageFactoryTestCase.java

License:Open Source License

public static void checkInboundProperties(final AmqpMessage amqpMessage, final MuleMessage muleMessage) {
    assertEquals(amqpMessage.getConsumerTag(),
            muleMessage.getProperty(AmqpConnector.MESSAGE_PROPERTY_CONSUMER_TAG, PropertyScope.INBOUND));

    final Envelope envelope = amqpMessage.getEnvelope();
    assertEquals(envelope.getDeliveryTag(),
            muleMessage.getProperty(AmqpConnector.MESSAGE_PROPERTY_DELIVERY_TAG, PropertyScope.INBOUND));
    assertEquals(envelope.isRedeliver(),
            muleMessage.getProperty(AmqpConnector.MESSAGE_PROPERTY_REDELIVER, PropertyScope.INBOUND));
    assertEquals(envelope.getExchange(),
            muleMessage.getProperty(AmqpConnector.EXCHANGE, PropertyScope.INBOUND));
    assertEquals(envelope.getRoutingKey(),
            muleMessage.getProperty(AmqpConnector.MESSAGE_PROPERTY_ROUTING_KEY, PropertyScope.INBOUND));

    final BasicProperties amqpProperties = amqpMessage.getProperties();
    assertEquals(amqpProperties.getAppId(),
            muleMessage.getProperty(AmqpConnector.MESSAGE_PROPERTY_APP_ID, PropertyScope.INBOUND));
    assertEquals(amqpProperties.getContentEncoding(),
            muleMessage.getProperty(AmqpConnector.MESSAGE_PROPERTY_CONTENT_ENCODING, PropertyScope.INBOUND));
    assertEquals(amqpProperties.getContentType(),
            muleMessage.getProperty(AmqpConnector.MESSAGE_PROPERTY_CONTENT_TYPE, PropertyScope.INBOUND));
    assertEquals(amqpProperties.getClusterId(),
            muleMessage.getProperty(AmqpConnector.MESSAGE_PROPERTY_CLUSTER_ID, PropertyScope.INBOUND));
    assertEquals(amqpProperties.getCorrelationId(),
            muleMessage.getProperty(AmqpConnector.MESSAGE_PROPERTY_CORRELATION_ID, PropertyScope.INBOUND));
    assertEquals(amqpProperties.getCorrelationId(), muleMessage.getCorrelationId());
    assertEquals(amqpProperties.getDeliveryMode(),
            muleMessage.getProperty(AmqpConnector.MESSAGE_PROPERTY_DELIVERY_MODE, PropertyScope.INBOUND));
    assertEquals(amqpProperties.getExpiration(),
            muleMessage.getProperty(AmqpConnector.MESSAGE_PROPERTY_EXPIRATION, PropertyScope.INBOUND));
    assertEquals(amqpProperties.getMessageId(),
            muleMessage.getProperty(AmqpConnector.MESSAGE_PROPERTY_MESSAGE_ID, PropertyScope.INBOUND));
    assertEquals(amqpProperties.getMessageId(), muleMessage.getUniqueId());
    assertEquals(amqpProperties.getPriority(),
            muleMessage.getProperty(AmqpConnector.MESSAGE_PROPERTY_PRIORITY, PropertyScope.INBOUND));
    assertEquals(amqpProperties.getReplyTo(),
            muleMessage.getProperty(AmqpConnector.MESSAGE_PROPERTY_REPLY_TO, PropertyScope.INBOUND));
    assertEquals(amqpProperties.getReplyTo(), muleMessage.getReplyTo());
    assertEquals(amqpProperties.getTimestamp(),
            muleMessage.getProperty(AmqpConnector.MESSAGE_PROPERTY_TIMESTAMP, PropertyScope.INBOUND));
    assertEquals(amqpProperties.getType(),
            muleMessage.getProperty(AmqpConnector.MESSAGE_PROPERTY_TYPE, PropertyScope.INBOUND));
    assertEquals(amqpProperties.getUserId(),
            muleMessage.getProperty(AmqpConnector.MESSAGE_PROPERTY_USER_ID, PropertyScope.INBOUND));

    for (final Entry<String, Object> header : amqpProperties.getHeaders().entrySet()) {
        assertEquals(header.getValue(), muleMessage.getProperty(header.getKey(), PropertyScope.INBOUND));
    }/*from  w w w.  ja v  a2 s .  c  o m*/
}

From source file:org.smartdeveloperhub.curator.connector.BrokerControllerTest.java

License:Apache License

@Test
public void testPublishMessage$unexpectedFailure() throws Exception {
    final BrokerController sut = newInstance();
    final DeliveryChannel dc = ProtocolFactory.newDeliveryChannel().withExchangeName("exchangeName")
            .withRoutingKey("routingKey").build();
    final String message = "message";
    new MockUp<ConnectionFactory>() {
        @Mock/*w w w .  j a  v a2 s  . c  om*/
        public void setHost(final String host) {
        }

        @Mock
        public void setPort(final int port) {
        }

        @Mock
        public void setVirtualHost(final String virtualHost) {
        }

        @Mock
        public void setThreadFactory(final ThreadFactory threadFactory) {
        }

        @Mock
        public Connection newConnection() throws IOException, TimeoutException {
            return BrokerControllerTest.this.connection;
        }
    };
    new Expectations() {
        {
            BrokerControllerTest.this.connection.createChannel();
            this.result = BrokerControllerTest.this.channel;
            BrokerControllerTest.this.channel.basicPublish(dc.exchangeName(), dc.routingKey(), true,
                    (BasicProperties) this.any, message.getBytes());
            this.result = new ShutdownSignalException(true, true, null, BrokerControllerTest.this.channel);
        }
    };
    sut.connect();
    try {
        sut.publishMessage(dc, message);
    } catch (final IOException e) {
        assertThat(e.getMessage(), equalTo(
                "Unexpected failure while publishing message [message] to exchange 'exchangeName' and routing key 'routingKey' using broker localhost:5672/: clean connection shutdown"));
        assertThat(e.getCause(), instanceOf(ShutdownSignalException.class));
    }
    new Verifications() {
        {
            BasicProperties s;
            BrokerControllerTest.this.channel.basicPublish(dc.exchangeName(), dc.routingKey(), true,
                    s = withCapture(), message.getBytes());
            assertThat(s.getDeliveryMode(), equalTo(2));
            assertThat(s.getHeaders().get(BrokerController.BROKER_CONTROLLER_MESSAGE), instanceOf(Long.class));
        }
    };
}

From source file:org.smartdeveloperhub.curator.connector.BrokerControllerTest.java

License:Apache License

@Test
public void testPublishMessage$shareChannelInThread() throws Exception {
    final BrokerController sut = newInstance();
    final DeliveryChannel dc = ProtocolFactory.newDeliveryChannel().withExchangeName("exchangeName")
            .withRoutingKey("routingKey").build();
    final String message = "message";
    new MockUp<ConnectionFactory>() {
        @Mock//  ww  w  .  j a va 2s  .c om
        public void setHost(final String host) {
        }

        @Mock
        public void setPort(final int port) {
        }

        @Mock
        public void setVirtualHost(final String virtualHost) {
        }

        @Mock
        public void setThreadFactory(final ThreadFactory threadFactory) {
        }

        @Mock
        public Connection newConnection() throws IOException, TimeoutException {
            return BrokerControllerTest.this.connection;
        }
    };
    new Expectations() {
        {
            BrokerControllerTest.this.connection.createChannel();
            this.result = BrokerControllerTest.this.channel;
            this.minTimes = 2;
            this.maxTimes = 2;
            BrokerControllerTest.this.channel.basicPublish(dc.exchangeName(), dc.routingKey(), true,
                    (BasicProperties) this.any, message.getBytes());
            this.minTimes = 2;
            this.maxTimes = 2;
        }
    };
    sut.connect();
    sut.publishMessage(dc, message);
    sut.publishMessage(dc, message);
    new Verifications() {
        {
            BasicProperties s;
            BrokerControllerTest.this.channel.basicPublish(dc.exchangeName(), dc.routingKey(), true,
                    s = withCapture(), message.getBytes());
            assertThat(s.getDeliveryMode(), equalTo(2));
            assertThat(s.getHeaders().get(BrokerController.BROKER_CONTROLLER_MESSAGE), instanceOf(Long.class));
        }
    };
}

From source file:org.smartdeveloperhub.harvesters.it.notification.CollectorControllerTest.java

License:Apache License

@Test
public void testPublishEvent$usesCurrentChannelAndImplementsNotificationProtocol(@Mocked final Channel channel)
        throws Exception {
    new MockUp<ConnectionManager>() {
        private boolean connected = false;

        @Mock(invocations = 1)//from   w  w  w .ja  v a  2  s  . co  m
        void connect() {
            this.connected = true;
        }

        @Mock(invocations = 1)
        void disconnect() {
        }

        @Mock
        boolean isConnected() {
            return this.connected;
        }

        @Mock
        Channel channel() {
            return channel;
        }

        @Mock(invocations = 1)
        Channel currentChannel() {
            return channel;
        }

        @Mock(invocations = 0)
        void discardChannel() {
        }
    };
    final CollectorConfiguration defaultCollector = defaultCollector();
    new Expectations() {
        {
            channel.basicPublish(defaultCollector.getExchangeName(),
                    Notifications.routingKey(ProjectCreatedEvent.class), true, (BasicProperties) this.any,
                    (byte[]) this.any);
        }
    };
    final CollectorController sut = CollectorController.createPublisher(defaultCollector);
    final ProjectCreatedEvent event = new ProjectCreatedEvent();
    event.setInstance(defaultCollector.getInstance());
    event.setNewProjects(Arrays.asList("1", "2"));
    sut.connect();
    try {
        sut.publishEvent(event);
    } finally {
        sut.disconnect();
    }
    new Verifications() {
        {
            BasicProperties props;
            byte[] body;
            channel.basicPublish(defaultCollector.getExchangeName(),
                    Notifications.routingKey(ProjectCreatedEvent.class), true, props = withCapture(),
                    body = withCapture());
            assertThat(new String(body), equalTo(EventUtil.marshall(event)));
            assertThat(props.getHeaders().get(CONTENT_TYPE), equalTo((Object) Notifications.MIME));
            assertThat(props.getDeliveryMode(),
                    equalTo(MessageProperties.MINIMAL_PERSISTENT_BASIC.builder().build().getDeliveryMode()));
        }
    };
}

From source file:org.smartdeveloperhub.harvesters.scm.backend.notification.CollectorControllerTest.java

License:Apache License

@Test
public void testPublishEvent$usesCurrentChannelAndImplementsNotificationProtocol(@Mocked final Channel channel)
        throws Exception {
    new MockUp<ConnectionManager>() {
        private boolean connected = false;

        @Mock(invocations = 1)//from   ww  w. jav  a  2s. co  m
        void connect() {
            this.connected = true;
        }

        @Mock(invocations = 1)
        void disconnect() {
        }

        @Mock
        boolean isConnected() {
            return this.connected;
        }

        @Mock
        Channel channel() {
            return channel;
        }

        @Mock(invocations = 1)
        Channel currentChannel() {
            return channel;
        }

        @Mock(invocations = 0)
        void discardChannel() {
        }
    };
    final Collector defaultCollector = defaultCollector();
    new Expectations() {
        {
            channel.basicPublish(defaultCollector.getExchangeName(),
                    Notifications.routingKey(RepositoryCreatedEvent.class), true, (BasicProperties) this.any,
                    (byte[]) this.any);
        }
    };
    final CollectorController sut = CollectorController.createPublisher(defaultCollector);
    final RepositoryCreatedEvent event = new RepositoryCreatedEvent();
    event.setInstance(defaultCollector.getInstance());
    event.setNewRepositories(Arrays.asList("1", "2"));
    sut.connect();
    try {
        sut.publishEvent(event);
    } finally {
        sut.disconnect();
    }
    new Verifications() {
        {
            BasicProperties props;
            byte[] body;
            channel.basicPublish(defaultCollector.getExchangeName(),
                    Notifications.routingKey(RepositoryCreatedEvent.class), true, props = withCapture(),
                    body = withCapture());
            assertThat(new String(body), equalTo(EventUtil.marshall(event)));
            assertThat(props.getHeaders().get(HttpHeaders.CONTENT_TYPE), equalTo((Object) Notifications.MIME));
            assertThat(props.getDeliveryMode(),
                    equalTo(MessageProperties.MINIMAL_PERSISTENT_BASIC.builder().build().getDeliveryMode()));
        }
    };
}

From source file:org.springframework.amqp.rabbit.support.DefaultMessagePropertiesConverter.java

License:Apache License

public MessageProperties toMessageProperties(final BasicProperties source, final Envelope envelope,
        final String charset) {
    MessageProperties target = new MessageProperties();
    Map<String, Object> headers = source.getHeaders();
    if (!CollectionUtils.isEmpty(headers)) {
        for (Map.Entry<String, Object> entry : headers.entrySet()) {
            Object value = entry.getValue();
            if (value instanceof LongString) {
                value = this.convertLongString((LongString) value, charset);
            }//  ww w .ja v  a  2s . c  o  m
            target.setHeader(entry.getKey(), value);
        }
    }
    target.setTimestamp(source.getTimestamp());
    target.setMessageId(source.getMessageId());
    target.setUserId(source.getUserId());
    target.setAppId(source.getAppId());
    target.setClusterId(source.getClusterId());
    target.setType(source.getType());
    Integer deliverMode = source.getDeliveryMode();
    if (deliverMode != null) {
        target.setDeliveryMode(MessageDeliveryMode.fromInt(deliverMode));
    }
    target.setExpiration(source.getExpiration());
    target.setPriority(source.getPriority());
    target.setContentType(source.getContentType());
    target.setContentEncoding(source.getContentEncoding());
    String correlationId = source.getCorrelationId();
    if (correlationId != null) {
        try {
            target.setCorrelationId(source.getCorrelationId().getBytes(charset));
        } catch (UnsupportedEncodingException ex) {
            throw new AmqpUnsupportedEncodingException(ex);
        }
    }
    String replyTo = source.getReplyTo();
    if (replyTo != null) {
        target.setReplyTo(replyTo);
    }
    if (envelope != null) {
        target.setReceivedExchange(envelope.getExchange());
        target.setReceivedRoutingKey(envelope.getRoutingKey());
        target.setRedelivered(envelope.isRedeliver());
        target.setDeliveryTag(envelope.getDeliveryTag());
    }
    return target;
}

From source file:org.springframework.amqp.rabbit.support.DefaultMessagePropertiesConverterTests.java

License:Apache License

@Test
public void testInboundDeliveryMode() {
    DefaultMessagePropertiesConverter converter = new DefaultMessagePropertiesConverter();
    MessageProperties props = new MessageProperties();
    props.setDeliveryMode(MessageDeliveryMode.NON_PERSISTENT);
    BasicProperties bProps = converter.fromMessageProperties(props, "UTF-8");
    assertEquals(MessageDeliveryMode.toInt(MessageDeliveryMode.NON_PERSISTENT),
            bProps.getDeliveryMode().intValue());
    props = converter.toMessageProperties(bProps, null, "UTF-8");
    assertEquals(MessageDeliveryMode.NON_PERSISTENT, props.getReceivedDeliveryMode());
    assertNull(props.getDeliveryMode());
}

From source file:org.springframework.amqp.rabbit.support.RabbitUtils.java

License:Apache License

public static MessageProperties createMessageProperties(final BasicProperties source, final Envelope envelope,
        final String charset) {
    MessageProperties target = new MessageProperties();
    Map<String, Object> headers = source.getHeaders();
    if (!CollectionUtils.isEmpty(headers)) {
        for (Map.Entry<String, Object> entry : headers.entrySet()) {
            target.setHeader(entry.getKey(), entry.getValue());
        }//w  ww . j  a va 2  s. c o m
    }
    target.setTimestamp(source.getTimestamp());
    target.setMessageId(source.getMessageId());
    target.setUserId(source.getUserId());
    target.setAppId(source.getAppId());
    target.setClusterId(source.getClusterId());
    target.setType(source.getType());
    Integer deliverMode = source.getDeliveryMode();
    if (deliverMode != null) {
        target.setDeliveryMode(MessageDeliveryMode.fromInt(deliverMode));
    }
    target.setExpiration(source.getExpiration());
    target.setPriority(source.getPriority());
    target.setContentType(source.getContentType());
    target.setContentEncoding(source.getContentEncoding());
    String correlationId = source.getCorrelationId();
    if (correlationId != null) {
        try {
            target.setCorrelationId(source.getCorrelationId().getBytes(charset));
        } catch (UnsupportedEncodingException ex) {
            throw new AmqpUnsupportedEncodingException(ex);
        }
    }
    String replyTo = source.getReplyTo();
    if (replyTo != null) {
        target.setReplyTo(new Address(replyTo));
    }
    if (envelope != null) {
        target.setReceivedExchange(envelope.getExchange());
        target.setReceivedRoutingKey(envelope.getRoutingKey());
        target.setRedelivered(envelope.isRedeliver());
        target.setDeliveryTag(envelope.getDeliveryTag());
    }
    // TODO: what about messageCount?
    return target;
}