Package io.micronaut.rabbitmq.serdes
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 TypeMethodDescriptiondeserialize
(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
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 deserializeargument
- 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 serializeproperties
- The properties of the message- Returns:
- The message body
-
supports
Determines if this serdes supports the given type.- Parameters:
type
- The type- Returns:
- True if the type is supported
-