Class ProtobufMessageConverter
java.lang.Object
org.springframework.messaging.converter.AbstractMessageConverter
org.springframework.messaging.converter.ProtobufMessageConverter
- All Implemented Interfaces:
MessageConverter, SmartMessageConverter
- Direct Known Subclasses:
ProtobufJsonFormatMessageConverter
An
MessageConverter that reads and writes
com.google.protobuf.Messages using
Google Protocol Buffers.
To generate Message Java classes, you need to install the protoc binary.
This converter supports by default "application/x-protobuf" with the official
"com.google.protobuf:protobuf-java" library.
"application/json" can be supported with the official
"com.google.protobuf:protobuf-java-util" 3.x, with 3.3 or higher recommended.
- Since:
- 5.2.2
- Author:
- Parviz Rozikov, Rossen Stoyanchev
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final CharsetThe default charset used by the converter.static final MimeTypeThe mime-type for protobufapplication/x-protobuf.Fields inherited from class AbstractMessageConverter
logger -
Constructor Summary
ConstructorsConstructorDescriptionConstructor with a default instance ofExtensionRegistry.ProtobufMessageConverter(com.google.protobuf.ExtensionRegistry extensionRegistry) Constructor with a givenExtensionRegistry. -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancanConvertTo(Object payload, @Nullable MessageHeaders headers) protected ObjectconvertFromInternal(Message<?> message, Class<?> targetClass, @Nullable Object conversionHint) Convert the message payload from serialized form to an Object.protected ObjectconvertToInternal(Object payload, @Nullable MessageHeaders headers, @Nullable Object conversionHint) Convert the payload object to serialized form.protected booleanWhether the given class is supported by this converter.Methods inherited from class AbstractMessageConverter
addSupportedMimeTypes, canConvertFrom, fromMessage, fromMessage, getContentTypeResolver, getDefaultContentType, getMimeType, getSerializedPayloadClass, getSupportedMimeTypes, isStrictContentTypeMatch, setContentTypeResolver, setSerializedPayloadClass, setStrictContentTypeMatch, supportsMimeType, toMessage, toMessage
-
Field Details
-
DEFAULT_CHARSET
The default charset used by the converter. -
PROTOBUF
The mime-type for protobufapplication/x-protobuf.
-
-
Constructor Details
-
ProtobufMessageConverter
public ProtobufMessageConverter()Constructor with a default instance ofExtensionRegistry. -
ProtobufMessageConverter
public ProtobufMessageConverter(com.google.protobuf.ExtensionRegistry extensionRegistry) Constructor with a givenExtensionRegistry.
-
-
Method Details
-
supports
Description copied from class:AbstractMessageConverterWhether the given class is supported by this converter.- Specified by:
supportsin classAbstractMessageConverter- Parameters:
clazz- the class to test for support- Returns:
trueif supported;falseotherwise
-
canConvertTo
- Overrides:
canConvertToin classAbstractMessageConverter
-
convertFromInternal
protected Object convertFromInternal(Message<?> message, Class<?> targetClass, @Nullable Object conversionHint) Description copied from class:AbstractMessageConverterConvert the message payload from serialized form to an Object.- Overrides:
convertFromInternalin classAbstractMessageConverter- Parameters:
message- the input messagetargetClass- the target class for the conversionconversionHint- an extra object passed to theMessageConverter, for example, the associatedMethodParameter(may benull)- Returns:
- the result of the conversion, or
nullif the converter cannot perform the conversion
-
convertToInternal
protected Object convertToInternal(Object payload, @Nullable MessageHeaders headers, @Nullable Object conversionHint) Description copied from class:AbstractMessageConverterConvert the payload object to serialized form.- Overrides:
convertToInternalin classAbstractMessageConverter- Parameters:
payload- the Object to convertheaders- optional headers for the message (may benull)conversionHint- an extra object passed to theMessageConverter, for example, the associatedMethodParameter(may benull)- Returns:
- the resulting payload for the message, or
nullif the converter cannot perform the conversion
-