Class RedisMessageBodyHandler
java.lang.Object
io.micronaut.configuration.lettuce.pubsub.RedisMessageBodyHandler
Handles payload serialization for Redis Pub/Sub messages.
- Since:
- 7.0
- Author:
- Graeme Rocher
-
Constructor Summary
ConstructorsConstructorDescriptionRedisMessageBodyHandler(io.micronaut.http.body.MessageBodyHandlerRegistry messageBodyHandlerRegistry, io.micronaut.core.convert.ConversionService conversionService, RedisPubSubConfiguration configuration) -
Method Summary
Modifier and TypeMethodDescription<T> Optional<T> deserialize(byte[] value, io.micronaut.core.convert.ArgumentConversionContext<T> context, io.micronaut.http.MediaType mediaType) Deserialize a Redis Pub/Sub body.io.micronaut.http.MediaTyperesolveIncomingMediaType(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, io.micronaut.core.annotation.AnnotationMetadata declaringTypeMetadata) Resolve the media type to use for deserializing a listener method body.io.micronaut.http.MediaTyperesolveOutgoingMediaType(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, io.micronaut.core.annotation.AnnotationMetadata declaringTypeMetadata) Resolve the media type to use for serializing a client method body.byte[]serialize(io.micronaut.core.type.Argument<?> argument, io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, io.micronaut.core.annotation.AnnotationMetadata declaringTypeMetadata, Object value) Serialize a Redis Pub/Sub body.byte[]serialize(io.micronaut.core.type.Argument<?> argument, io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, Object value) Serialize a Redis Pub/Sub body using only method-level annotation metadata.byte[]serialize(io.micronaut.core.type.Argument<?> argument, io.micronaut.http.MediaType mediaType, Object value) Serialize a Redis Pub/Sub body.byte[]
-
Constructor Details
-
RedisMessageBodyHandler
public RedisMessageBodyHandler(io.micronaut.http.body.MessageBodyHandlerRegistry messageBodyHandlerRegistry, io.micronaut.core.convert.ConversionService conversionService, RedisPubSubConfiguration configuration)
-
-
Method Details
-
serialize
-
serialize
public byte[] serialize(io.micronaut.core.type.Argument<?> argument, io.micronaut.http.MediaType mediaType, Object value) Serialize a Redis Pub/Sub body.- Parameters:
argument- The body argumentmediaType- The media typevalue- The value- Returns:
- The serialized bytes
-
serialize
public byte[] serialize(io.micronaut.core.type.Argument<?> argument, io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, Object value) Serialize a Redis Pub/Sub body using only method-level annotation metadata. Equivalent to callingserialize(Argument, AnnotationMetadata, AnnotationMetadata, Object)withAnnotationMetadata.EMPTY_METADATAas the declaring type metadata.- Parameters:
argument- The body argumentannotationMetadata- The method or element annotation metadatavalue- The value- Returns:
- The serialized bytes
-
serialize
public byte[] serialize(io.micronaut.core.type.Argument<?> argument, io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, io.micronaut.core.annotation.AnnotationMetadata declaringTypeMetadata, Object value) Serialize a Redis Pub/Sub body.- Parameters:
argument- The body argumentannotationMetadata- The method or element annotation metadatadeclaringTypeMetadata- The declaring type annotation metadatavalue- The value- Returns:
- The serialized bytes
-
deserialize
public <T> Optional<T> deserialize(byte[] value, io.micronaut.core.convert.ArgumentConversionContext<T> context, io.micronaut.http.MediaType mediaType) Deserialize a Redis Pub/Sub body.- Type Parameters:
T- The target type- Parameters:
value- The serialized bytescontext- The conversion contextmediaType- The media type- Returns:
- The deserialized value
-
resolveOutgoingMediaType
public io.micronaut.http.MediaType resolveOutgoingMediaType(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, io.micronaut.core.annotation.AnnotationMetadata declaringTypeMetadata) Resolve the media type to use for serializing a client method body.- Parameters:
annotationMetadata- The method annotation metadatadeclaringTypeMetadata- The declaring type annotation metadata- Returns:
- The media type
-
resolveIncomingMediaType
public io.micronaut.http.MediaType resolveIncomingMediaType(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, io.micronaut.core.annotation.AnnotationMetadata declaringTypeMetadata) Resolve the media type to use for deserializing a listener method body.- Parameters:
annotationMetadata- The method annotation metadatadeclaringTypeMetadata- The declaring type annotation metadata- Returns:
- The media type
-