Example usage for org.springframework.messaging.converter CompositeMessageConverter CompositeMessageConverter

List of usage examples for org.springframework.messaging.converter CompositeMessageConverter CompositeMessageConverter

Introduction

In this page you can find the example usage for org.springframework.messaging.converter CompositeMessageConverter CompositeMessageConverter.

Prototype

public CompositeMessageConverter(Collection<MessageConverter> converters) 

Source Link

Document

Create an instance with the given converters.

Usage

From source file:org.springframework.cloud.aws.messaging.core.NotificationMessagingTemplate.java

private void initMessageConverter(MessageConverter messageConverter) {
    List<MessageConverter> messageConverters = new ArrayList<>();

    StringMessageConverter stringMessageConverter = new StringMessageConverter();
    stringMessageConverter.setSerializedPayloadClass(String.class);
    messageConverters.add(stringMessageConverter);

    if (messageConverter != null) {
        messageConverters.add(messageConverter);
    } else if (JACKSON_2_PRESENT) {
        MappingJackson2MessageConverter mappingJackson2MessageConverter = new MappingJackson2MessageConverter();
        mappingJackson2MessageConverter.setSerializedPayloadClass(String.class);
        messageConverters.add(mappingJackson2MessageConverter);
    }//from  w w w.j a v  a 2  s .c om

    setMessageConverter(new CompositeMessageConverter(messageConverters));
}

From source file:org.springframework.cloud.stream.converter.CompositeMessageConverterFactory.java

/**
 * Creation method./* w ww  .  java2s  .  c  o m*/
 * @param mimeType the target MIME type
 * @return a converter for the target MIME type
 */
public MessageConverter getMessageConverterForType(MimeType mimeType) {
    List<MessageConverter> converters = new ArrayList<>();
    for (MessageConverter converter : this.converters) {
        if (converter instanceof AbstractMessageConverter) {
            for (MimeType type : ((AbstractMessageConverter) converter).getSupportedMimeTypes()) {
                if (type.includes(mimeType)) {
                    converters.add(converter);
                }
            }
        } else {
            if (this.log.isDebugEnabled()) {
                this.log.debug("Ommitted " + converter + " of type " + converter.getClass().toString()
                        + " for '" + mimeType.toString() + "' as it is not an AbstractMessageConverter");
            }
        }
    }
    if (CollectionUtils.isEmpty(converters)) {
        throw new ConversionException("No message converter is registered for " + mimeType.toString());
    }
    if (converters.size() > 1) {
        return new CompositeMessageConverter(converters);
    } else {
        return converters.get(0);
    }
}

From source file:org.springframework.cloud.stream.converter.CompositeMessageConverterFactory.java

public CompositeMessageConverter getMessageConverterForAllRegistered() {
    return new CompositeMessageConverter(new ArrayList<>(this.converters));
}

From source file:org.springframework.cloud.aws.messaging.listener.QueueMessageHandler.java

private CompositeMessageConverter createPayloadArgumentCompositeConverter() {
    List<MessageConverter> payloadArgumentConverters = new ArrayList<>();

    if (JACKSON_2_PRESENT) {
        MappingJackson2MessageConverter jacksonMessageConverter = new MappingJackson2MessageConverter();
        jacksonMessageConverter.setSerializedPayloadClass(String.class);
        jacksonMessageConverter.setStrictContentTypeMatch(true);
        payloadArgumentConverters.add(jacksonMessageConverter);
    }//  w w  w.  j av a  2 s.c om

    ObjectMessageConverter objectMessageConverter = new ObjectMessageConverter();
    objectMessageConverter.setStrictContentTypeMatch(true);
    payloadArgumentConverters.add(objectMessageConverter);

    payloadArgumentConverters.add(new SimpleMessageConverter());

    return new CompositeMessageConverter(payloadArgumentConverters);
}

From source file:org.springframework.messaging.simp.annotation.support.SimpAnnotationMethodMessageHandler.java

/**
 * Create an instance of SimpAnnotationMethodMessageHandler with the given
 * message channels and broker messaging template.
 * @param clientInboundChannel the channel for receiving messages from clients (e.g. WebSocket clients)
 * @param clientOutboundChannel the channel for messages to clients (e.g. WebSocket clients)
 * @param brokerTemplate a messaging template to send application messages to the broker
 *//* ww w. ja va  2 s.c om*/
public SimpAnnotationMethodMessageHandler(SubscribableChannel clientInboundChannel,
        MessageChannel clientOutboundChannel, SimpMessageSendingOperations brokerTemplate) {

    Assert.notNull(clientInboundChannel, "clientInboundChannel must not be null");
    Assert.notNull(clientOutboundChannel, "clientOutboundChannel must not be null");
    Assert.notNull(brokerTemplate, "brokerTemplate must not be null");

    this.clientInboundChannel = clientInboundChannel;
    this.clientMessagingTemplate = new SimpMessagingTemplate(clientOutboundChannel);
    this.brokerTemplate = brokerTemplate;

    Collection<MessageConverter> converters = new ArrayList<>();
    converters.add(new StringMessageConverter());
    converters.add(new ByteArrayMessageConverter());
    this.messageConverter = new CompositeMessageConverter(converters);
}