Example usage for org.springframework.messaging MessageHeaders CONTENT_TYPE

List of usage examples for org.springframework.messaging MessageHeaders CONTENT_TYPE

Introduction

In this page you can find the example usage for org.springframework.messaging MessageHeaders CONTENT_TYPE.

Prototype

String CONTENT_TYPE

To view the source code for org.springframework.messaging MessageHeaders CONTENT_TYPE.

Click Source Link

Document

The key for the message content type.

Usage

From source file:demo.SampleSource.java

@Bean
@InboundChannelAdapter(value = Source.SAMPLE, poller = @Poller(fixedDelay = "1000", maxMessagesPerPoll = "1"))
public MessageSource<String> timerMessageSource() {
    return new MessageSource<String>() {
        public Message<String> receive() {
            System.out.println("******************");
            System.out.println("At the Source");
            System.out.println("******************");
            String value = "{\"value\":\"hi\"}";
            System.out.println("Sending value: " + value);
            return MessageBuilder.withPayload(value).setHeader(MessageHeaders.CONTENT_TYPE, "application/json")
                    .build();//from w  ww . j av  a  2  s .  c om
        }
    };
}

From source file:io.pivotal.poc.dispatcher.MessageDispatcher.java

private String sendMessage(String topic, Object body, HttpHeaders requestHeaders) {
    MessageChannel channel = resolver.resolveDestination(topic + ".input");
    MessageBuilder<?> builder = MessageBuilder.withPayload(body);
    builder.setHeader(MessageHeaders.CONTENT_TYPE, requestHeaders.getContentType());
    for (Map.Entry<String, List<String>> entry : requestHeaders.entrySet()) {
        String headerName = entry.getKey();
        if (requestHeadersToMap.contains(headerName)) {
            builder.setHeaderIfAbsent(headerName,
                    StringUtils.collectionToCommaDelimitedString(entry.getValue()));
        }//from w ww .j av  a  2s .c om
    }
    Message<?> message = builder.build();
    channel.send(message);
    return message.getHeaders().getId().toString();
}

From source file:io.jmnarloch.spring.cloud.stream.binder.hermes.HermesClientBinderTest.java

private static Map<String, Object> json() {
    return Collections.singletonMap(MessageHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE);
}

From source file:io.jmnarloch.spring.cloud.stream.binder.hermes.Demo.java

@Test
public void shouldPublishAvroMessage() {

    // given/*  ww w. ja v a 2s.  c  o m*/
    final Message<byte[]> message = MessageBuilder.withPayload(new byte[0])
            .setHeader(MessageHeaders.CONTENT_TYPE, "avro/binary").setHeader("Schema-Version", 1).build();

    // when
    events.returns().send(message);

    // then
    given().ignoreExceptions().await().atMost(5, SECONDS)
            .until(() -> wireMock.verify(1,
                    postRequestedFor(urlEqualTo(RETURNS_TOPIC_PATH))
                            .withHeader("Content-Type", equalTo("avro/binary"))
                            .withHeader("Schema-Version", equalTo("1"))));
}

From source file:org.appverse.web.framework.backend.frontfacade.websocket.services.business.TradeServiceImpl.java

@Scheduled(fixedDelay = 1500)
public void sendTradeNotifications() {

    Map<String, Object> map = new HashMap<>();
    map.put(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON);

    for (TradeResult result : this.tradeResults) {
        if (System.currentTimeMillis() >= (result.timestamp + 1500)) {
            logger.debug("Sending position update: " + result.position);
            this.messagingTemplate.convertAndSendToUser(result.user, "/queue/position-updates", result.position,
                    map);//w ww. j a  v  a  2 s  . co  m
            this.tradeResults.remove(result);
        }
    }
}

From source file:org.eclipse.hawkbit.repository.event.remote.AbstractRemoteEventTest.java

private Message<?> createProtoStuffMessage(final TenantAwareEvent event) {
    final Map<String, Object> headers = Maps.newLinkedHashMap();
    headers.put(MessageHeaders.CONTENT_TYPE, BusProtoStuffMessageConverter.APPLICATION_BINARY_PROTOSTUFF);
    return busProtoStuffMessageConverter.toMessage(event, new MutableMessageHeaders(headers));
}

From source file:org.eclipse.hawkbit.repository.event.remote.AbstractRemoteEventTest.java

private Message<String> createJsonMessage(final Object event) {
    final Map<String, MimeType> headers = Maps.newLinkedHashMap();
    headers.put(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON);
    try {/*from w  w w.j a  v  a  2s.c  o m*/
        final String json = new ObjectMapper().writeValueAsString(event);
        final Message<String> message = MessageBuilder.withPayload(json).copyHeaders(headers).build();
        return message;
    } catch (final JsonProcessingException e) {
        fail(e.getMessage());
    }
    return null;
}

From source file:org.springframework.cloud.aws.messaging.support.converter.NotificationRequestConverter.java

private static Map<String, Object> getMessageAttributesAsMessageHeaders(JsonNode message) {
    Map<String, Object> messageHeaders = new HashMap<>();
    Iterator<String> fieldNames = message.fieldNames();
    while (fieldNames.hasNext()) {
        String attributeName = fieldNames.next();
        String attributeValue = message.get(attributeName).get("Value").asText();
        String attributeType = message.get(attributeName).get("Type").asText();
        if (MessageHeaders.CONTENT_TYPE.equals(attributeName)) {
            messageHeaders.put(MessageHeaders.CONTENT_TYPE, MimeType.valueOf(attributeValue));
        } else if (MessageHeaders.ID.equals(attributeName)) {
            messageHeaders.put(MessageHeaders.ID, UUID.fromString(attributeValue));
        } else {/*from  w w  w.  j a v  a  2  s .  co m*/
            if (MessageAttributeDataTypes.STRING.equals(attributeType)) {
                messageHeaders.put(attributeName, attributeValue);
            } else if (attributeType.startsWith(MessageAttributeDataTypes.NUMBER)) {
                Object numberValue = getNumberValue(attributeType, attributeValue);
                if (numberValue != null) {
                    messageHeaders.put(attributeName, numberValue);
                }
            } else if (MessageAttributeDataTypes.BINARY.equals(attributeName)) {
                messageHeaders.put(attributeName, ByteBuffer.wrap(attributeType.getBytes()));
            }
        }
    }

    return messageHeaders;
}

From source file:org.springframework.cloud.aws.messaging.support.converter.ObjectMessageConverterTest.java

private static MessageHeaders getMessageHeaders(String charsetName) {
    return new MessageHeaders(Collections.<String, Object>singletonMap(MessageHeaders.CONTENT_TYPE,
            new MimeType("application", "x-java-serialized-object", Charset.forName(charsetName))));
}

From source file:org.springframework.cloud.netflix.hystrix.stream.HystrixStreamTask.java

@Scheduled(fixedRateString = "${hystrix.stream.queue.sendRate:500}")
public void sendMetrics() {
    ArrayList<String> metrics = new ArrayList<>();
    this.jsonMetrics.drainTo(metrics);

    if (!metrics.isEmpty()) {
        if (log.isTraceEnabled()) {
            log.trace("sending stream metrics size: " + metrics.size());
        }/*from w  w  w .j  a  va 2s  .  c om*/
        for (String json : metrics) {
            // TODO: batch all metrics to one message
            try {
                // TODO: remove the explicit content type when s-c-stream can handle
                // that for us
                this.outboundChannel.send(MessageBuilder.withPayload(json)
                        .setHeader(MessageHeaders.CONTENT_TYPE, this.properties.getContentType()).build());
            } catch (Exception ex) {
                if (log.isTraceEnabled()) {
                    log.trace("failed sending stream metrics: " + ex.getMessage());
                }
            }
        }
    }
}