Class SerializerMessageConverter
java.lang.Object
org.springframework.messaging.converter.AbstractMessageConverter
de.iip_ecosphere.platform.transport.spring.SerializerMessageConverter
- All Implemented Interfaces:
org.springframework.messaging.converter.MessageConverter,org.springframework.messaging.converter.SmartMessageConverter
public class SerializerMessageConverter
extends org.springframework.messaging.converter.AbstractMessageConverter
Generic Spring Cloud Stream message converter for
SerializerRegistry. Register your (generated) serializers
at startup time of the application. Applied to streams with the correct mime type, e.g., via
spring.cloud.stream.default.contentType=application/ser-string.- Author:
- Holger Eichelberger, SSE
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final de.iip_ecosphere.platform.support.logging.Loggerstatic final org.springframework.util.MimeTypeThe default mime type for IIP-Ecosphere serialized data types via the transport layer.static final org.springframework.util.MimeTypeFields inherited from class org.springframework.messaging.converter.AbstractMessageConverter
logger -
Constructor Summary
ConstructorsConstructorDescriptionCreates an instance forMIME_TYPEandMIME_TYPE_FALLBACK.SerializerMessageConverter(org.springframework.util.MimeType mimeType) Creates an instance for a given mime type. -
Method Summary
Modifier and TypeMethodDescriptionprotected ObjectconvertFromInternal(org.springframework.messaging.Message<?> message, Class<?> targetClass, Object conversionHint) protected ObjectconvertToInternal(Object payload, org.springframework.messaging.MessageHeaders headers, Object conversionHint) private <T> Objectserialize(T payload) Serializes the given payload.static <T> voidserializeAndSend(org.springframework.cloud.stream.function.StreamBridge streamBridge, String bindingName, T payload) "Manual" serialization and sending over a binding withuseNativeEncoding=false.protected booleanMethods inherited from class org.springframework.messaging.converter.AbstractMessageConverter
addSupportedMimeTypes, canConvertFrom, canConvertTo, fromMessage, fromMessage, getContentTypeResolver, getDefaultContentType, getMimeType, getSerializedPayloadClass, getSupportedMimeTypes, isStrictContentTypeMatch, setContentTypeResolver, setSerializedPayloadClass, setStrictContentTypeMatch, supportsMimeType, toMessage, toMessage
-
Field Details
-
MIME_TYPE
public static final org.springframework.util.MimeType MIME_TYPEThe default mime type for IIP-Ecosphere serialized data types via the transport layer. -
MIME_TYPE_FALLBACK
public static final org.springframework.util.MimeType MIME_TYPE_FALLBACK -
LOGGER
private static final de.iip_ecosphere.platform.support.logging.Logger LOGGER
-
-
Constructor Details
-
SerializerMessageConverter
public SerializerMessageConverter()Creates an instance forMIME_TYPEandMIME_TYPE_FALLBACK. -
SerializerMessageConverter
public SerializerMessageConverter(org.springframework.util.MimeType mimeType) Creates an instance for a given mime type. The mime type shall be defined based on the used serializers.- Parameters:
mimeType- the mime type
-
-
Method Details
-
supports
- Specified by:
supportsin classorg.springframework.messaging.converter.AbstractMessageConverter
-
convertFromInternal
protected Object convertFromInternal(org.springframework.messaging.Message<?> message, Class<?> targetClass, Object conversionHint) - Overrides:
convertFromInternalin classorg.springframework.messaging.converter.AbstractMessageConverter
-
convertToInternal
protected Object convertToInternal(Object payload, org.springframework.messaging.MessageHeaders headers, Object conversionHint) - Overrides:
convertToInternalin classorg.springframework.messaging.converter.AbstractMessageConverter
-
serialize
Serializes the given payload.- Type Parameters:
T- the type of the payload- Parameters:
payload- the payload to be serialized- Returns:
- the serialized payload as
byte[]wire format
-
serializeAndSend
public static <T> void serializeAndSend(org.springframework.cloud.stream.function.StreamBridge streamBridge, String bindingName, T payload) "Manual" serialization and sending over a binding withuseNativeEncoding=false.- Type Parameters:
T- the type of the payload- Parameters:
streamBridge- the stream bridge to send tobindingName- the binding name to be used as channelpayload- the payload to send
-