Interface RabbitMessageSerDes<T>

Type Parameters:
T - The type to be serialized/deserialized
All Superinterfaces:
io.micronaut.core.order.Ordered
All Known Implementing Classes:
JavaLangRabbitMessageSerDes, JsonRabbitMessageSerDes

public interface RabbitMessageSerDes<T> extends io.micronaut.core.order.Ordered
Responsible for serializing and deserializing RabbitMQ message bodies.
Since:
1.1.0
Author:
James Kleeh
  • Field Summary

    Fields inherited from interface io.micronaut.core.order.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
  • Method Summary

    Modifier and Type
    Method
    Description
    deserialize(RabbitConsumerState consumerState, io.micronaut.core.type.Argument<T> argument)
    Deserializes the message into the requested type.
    @io.micronaut.core.annotation.Nullable byte[]
    serialize(T data, MutableBasicProperties properties)
    Serializes the data into a byte[] to be published to RabbitMQ.
    boolean
    supports(io.micronaut.core.type.Argument<T> type)
    Determines if this serdes supports the given type.

    Methods inherited from interface io.micronaut.core.order.Ordered

    getOrder
  • Method Details

    • deserialize

      @Nullable T deserialize(RabbitConsumerState consumerState, io.micronaut.core.type.Argument<T> argument)
      Deserializes the message into the requested type.
      Parameters:
      consumerState - The message to deserialize
      argument - The type to be returned
      Returns:
      The deserialized body
    • serialize

      @Nullable @io.micronaut.core.annotation.Nullable byte[] serialize(@Nullable T data, MutableBasicProperties properties)
      Serializes the data into a byte[] to be published to RabbitMQ.
      Parameters:
      data - The data to serialize
      properties - The properties of the message
      Returns:
      The message body
    • supports

      boolean supports(io.micronaut.core.type.Argument<T> type)
      Determines if this serdes supports the given type.
      Parameters:
      type - The type
      Returns:
      True if the type is supported