List of usage examples for com.rabbitmq.client BasicProperties getDeliveryMode
public abstract Integer getDeliveryMode();
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; }