Class SubscriptionMessageSerializer
java.lang.Object
org.axonframework.axonserver.connector.query.subscription.SubscriptionMessageSerializer
Converter between Axon Framework
SubscriptionQueryMessage, the initial QueryResponseMessage and the
subsequent SubscriptionQueryUpdateMessage's and Axon Server gRPC SubscriptionQuery and SubscriptionQueryResponse. The latter is serviced by providing a QueryProviderOutbound wrapping the
SubscriptionQueryResponse.- Since:
- 4.0
- Author:
- Sara Pellegrini
-
Constructor Summary
ConstructorsConstructorDescriptionSubscriptionMessageSerializer(Serializer messageSerializer, Serializer serializer, AxonServerConfiguration configuration) Instantiate a serializer used to convert AxonSubscriptionQueryMessages, the initialQueryResponseMessageand the subsequentSubscriptionQueryUpdateMessages into Axon Server gRPC messages and vice versa. -
Method Summary
Modifier and TypeMethodDescription<I> QueryResponseMessage<I> deserialize(io.axoniq.axonserver.grpc.query.QueryResponse queryResponse) Deserializes the givenqueryResponseinto aQueryResponseMessage.deserialize(io.axoniq.axonserver.grpc.query.QueryUpdate queryUpdate) Deserializes the givenqueryUpdateinto aSubscriptionQueryUpdateMessage.<Q,I, U> SubscriptionQueryMessage <Q, I, U> deserialize(io.axoniq.axonserver.grpc.query.SubscriptionQuery subscriptionQuery) Deserializes the givensubscriptionQueryinto aSubscriptionQueryMessage.io.axoniq.axonserver.grpc.query.SubscriptionQueryserialize(SubscriptionQueryMessage<?, ?, ?> subscriptionQueryMessage) Deprecated.in through use of the AxonServer java connectorio.axoniq.axonserver.grpc.query.QueryUpdateserialize(SubscriptionQueryUpdateMessage<?> subscriptionQueryUpdateMessage) Serializes the givensubscriptionQueryUpdateMessageinto aQueryUpdate.io.axoniq.axonserver.grpc.query.QueryRequestserializeQuery(SubscriptionQueryMessage subscriptionQueryMessage) Serializes the givensubscriptionQueryMessageinto aQueryRequest.io.axoniq.axonserver.grpc.SerializedObjectserializeUpdateType(SubscriptionQueryMessage<?, ?, ?> subscriptionQueryMessage) Serializes the givensubscriptionQueryMessageinto aSerializedObject.
-
Constructor Details
-
SubscriptionMessageSerializer
public SubscriptionMessageSerializer(Serializer messageSerializer, Serializer serializer, AxonServerConfiguration configuration) Instantiate a serializer used to convert AxonSubscriptionQueryMessages, the initialQueryResponseMessageand the subsequentSubscriptionQueryUpdateMessages into Axon Server gRPC messages and vice versa.- Parameters:
messageSerializer- aSerializerused to de-/serialize an Axon Server gRPC message intoSubscriptionQueryMessages,QueryResponseMessages andSubscriptionQueryUpdateMessages, and vice versaserializer- aSerializerused to create a dedicated converter for aQueryMessageResponseTypeconfiguration- anAxonServerConfigurationused to set the configurable component id and name in the messages
-
-
Method Details
-
serializeQuery
public io.axoniq.axonserver.grpc.query.QueryRequest serializeQuery(SubscriptionQueryMessage subscriptionQueryMessage) Serializes the givensubscriptionQueryMessageinto aQueryRequest.- Parameters:
subscriptionQueryMessage- theSubscriptionQueryMessageto serialize into aQueryRequest- Returns:
- a
QueryRequestbased on the givensubscriptionQueryMessage
-
serializeUpdateType
public io.axoniq.axonserver.grpc.SerializedObject serializeUpdateType(SubscriptionQueryMessage<?, ?, ?> subscriptionQueryMessage) Serializes the givensubscriptionQueryMessageinto aSerializedObject.- Parameters:
subscriptionQueryMessage- theSubscriptionQueryMessagewho'sSubscriptionQueryMessage.getUpdateResponseType()to serialize into aSerializedObject- Returns:
- a
SerializedObjectbased on the givensubscriptionQueryMessageitsSubscriptionQueryMessage.getUpdateResponseType()
-
serialize
public io.axoniq.axonserver.grpc.query.QueryUpdate serialize(SubscriptionQueryUpdateMessage<?> subscriptionQueryUpdateMessage) Serializes the givensubscriptionQueryUpdateMessageinto aQueryUpdate.- Parameters:
subscriptionQueryUpdateMessage- theSubscriptionQueryUpdateMessageto serialize into aQueryUpdate- Returns:
- the
QueryUpdatebased on the givenSubscriptionQueryUpdateMessage
-
deserialize
public <Q,I, SubscriptionQueryMessage<Q,U> I, deserializeU> (io.axoniq.axonserver.grpc.query.SubscriptionQuery subscriptionQuery) Deserializes the givensubscriptionQueryinto aSubscriptionQueryMessage.- Type Parameters:
Q- the query type of theSubscriptionQueryMessageto returnI- the initial result type of theSubscriptionQueryMessageto returnU- the update type of theSubscriptionQueryMessageto return- Parameters:
subscriptionQuery- theSubscriptionQueryto deserialize into aSubscriptionQueryMessage- Returns:
- the
SubscriptionQueryMessagebased on the givensubscriptionQuery
-
deserialize
public <I> QueryResponseMessage<I> deserialize(io.axoniq.axonserver.grpc.query.QueryResponse queryResponse) Deserializes the givenqueryResponseinto aQueryResponseMessage. Typically used for the initial result of the subscription query.- Type Parameters:
I- the response type of theQueryResponseMessageto return- Parameters:
queryResponse- theQueryResponseto deserialize into aQueryResponseMessage- Returns:
- a
QueryResponseMessagebased on the givenQueryResponse
-
deserialize
public <U> SubscriptionQueryUpdateMessage<U> deserialize(io.axoniq.axonserver.grpc.query.QueryUpdate queryUpdate) Deserializes the givenqueryUpdateinto aSubscriptionQueryUpdateMessage.- Type Parameters:
U- the update type of theSubscriptionQueryUpdateMessageto return- Parameters:
queryUpdate- theQueryUpdateto deserialize into aSubscriptionQueryUpdateMessage- Returns:
- a
SubscriptionQueryUpdateMessagebased on the givenQueryUpdate
-
serialize
@Deprecated public io.axoniq.axonserver.grpc.query.SubscriptionQuery serialize(SubscriptionQueryMessage<?, ?, ?> subscriptionQueryMessage) Deprecated.in through use of the AxonServer java connectorConvert aSubscriptionQueryMessageinto aSubscriptionQuery.- Parameters:
subscriptionQueryMessage- theSubscriptionQueryMessageto convert into aSubscriptionQuery- Returns:
- a
SubscriptionQuerybased on the providedsubscriptionQueryMessage
-