Class JsonRabbitMessageSerDes

java.lang.Object
io.micronaut.rabbitmq.serdes.JsonRabbitMessageSerDes
All Implemented Interfaces:
io.micronaut.core.order.Ordered, RabbitMessageSerDes<Object>

@Requires(bean=io.micronaut.json.JsonMapper.class) @Singleton public class JsonRabbitMessageSerDes extends Object implements RabbitMessageSerDes<Object>
Serializes and deserializes objects as JSON using Jackson.
Since:
1.1.0
Author:
James Kleeh
  • Field Details

    • ORDER

      public static final Integer ORDER
      The order of this serDes.
  • Constructor Details

    • JsonRabbitMessageSerDes

      public JsonRabbitMessageSerDes(io.micronaut.json.JsonMapper jsonMapper)
      Default constructor.
      Parameters:
      jsonMapper - The json mapper
      Since:
      3.2.0
  • Method Details

    • deserialize

      public Object deserialize(RabbitConsumerState messageState, io.micronaut.core.type.Argument<Object> type)
      Description copied from interface: RabbitMessageSerDes
      Deserializes the message into the requested type.
      Specified by:
      deserialize in interface RabbitMessageSerDes<Object>
      Parameters:
      messageState - The message to deserialize
      type - The type to be returned
      Returns:
      The deserialized body
    • serialize

      public byte[] serialize(Object data, MutableBasicProperties basicProperties)
      Description copied from interface: RabbitMessageSerDes
      Serializes the data into a byte[] to be published to RabbitMQ.
      Specified by:
      serialize in interface RabbitMessageSerDes<Object>
      Parameters:
      data - The data to serialize
      basicProperties - The properties of the message
      Returns:
      The message body
    • getOrder

      public int getOrder()
      Specified by:
      getOrder in interface io.micronaut.core.order.Ordered
    • supports

      public boolean supports(io.micronaut.core.type.Argument<Object> argument)
      Description copied from interface: RabbitMessageSerDes
      Determines if this serdes supports the given type.
      Specified by:
      supports in interface RabbitMessageSerDes<Object>
      Parameters:
      argument - The type
      Returns:
      True if the type is supported