Class RedisMessageBodyHandler

java.lang.Object
io.micronaut.configuration.lettuce.pubsub.RedisMessageBodyHandler

@Singleton @Internal public final class RedisMessageBodyHandler extends Object
Handles payload serialization for Redis Pub/Sub messages.
Since:
7.0
Author:
Graeme Rocher
  • Constructor Summary

    Constructors
    Constructor
    Description
    RedisMessageBodyHandler(io.micronaut.http.body.MessageBodyHandlerRegistry messageBodyHandlerRegistry, io.micronaut.core.convert.ConversionService conversionService, RedisPubSubConfiguration configuration)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    <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.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.
    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.
    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[]
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RedisMessageBodyHandler

      public RedisMessageBodyHandler(io.micronaut.http.body.MessageBodyHandlerRegistry messageBodyHandlerRegistry, io.micronaut.core.convert.ConversionService conversionService, RedisPubSubConfiguration configuration)
  • Method Details

    • serialize

      public byte[] serialize(Object value)
    • 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 argument
      mediaType - The media type
      value - 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 calling serialize(Argument, AnnotationMetadata, AnnotationMetadata, Object) with AnnotationMetadata.EMPTY_METADATA as the declaring type metadata.
      Parameters:
      argument - The body argument
      annotationMetadata - The method or element annotation metadata
      value - 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 argument
      annotationMetadata - The method or element annotation metadata
      declaringTypeMetadata - The declaring type annotation metadata
      value - 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 bytes
      context - The conversion context
      mediaType - 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 metadata
      declaringTypeMetadata - 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 metadata
      declaringTypeMetadata - The declaring type annotation metadata
      Returns:
      The media type