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
    • Field Summary

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

        HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      T deserialize​(RabbitConsumerState consumerState, io.micronaut.core.type.Argument<T> argument)
      Deserializes the message into the requested type.
      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 Detail

      • 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
        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