Package io.micronaut.rabbitmq.serdes
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 Summary
Fields inherited from interface io.micronaut.core.order.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
ConstructorDescriptionJsonRabbitMessageSerDes
(io.micronaut.json.JsonMapper jsonMapper) Default constructor. -
Method Summary
Modifier and TypeMethodDescriptiondeserialize
(RabbitConsumerState messageState, io.micronaut.core.type.Argument<Object> type) Deserializes the message into the requested type.int
getOrder()
byte[]
serialize
(Object data, MutableBasicProperties basicProperties) Serializes the data into a byte[] to be published to RabbitMQ.boolean
Determines if this serdes supports the given type.
-
Field Details
-
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 interfaceRabbitMessageSerDes<Object>
- Parameters:
messageState
- The message to deserializetype
- The type to be returned- Returns:
- The deserialized body
-
serialize
Description copied from interface:RabbitMessageSerDes
Serializes the data into a byte[] to be published to RabbitMQ.- Specified by:
serialize
in interfaceRabbitMessageSerDes<Object>
- Parameters:
data
- The data to serializebasicProperties
- The properties of the message- Returns:
- The message body
-
getOrder
public int getOrder()- Specified by:
getOrder
in interfaceio.micronaut.core.order.Ordered
-
supports
Description copied from interface:RabbitMessageSerDes
Determines if this serdes supports the given type.- Specified by:
supports
in interfaceRabbitMessageSerDes<Object>
- Parameters:
argument
- The type- Returns:
- True if the type is supported
-