Class GrpcBackedSubscriptionQueryMessage<Q,I,U>

java.lang.Object
org.axonframework.axonserver.connector.query.subscription.GrpcBackedSubscriptionQueryMessage<Q,I,U>
Type Parameters:
Q - a generic specifying the type of the SubscriptionQueryMessage's payload
I - a generic specifying the type of the initial result of the SubscriptionQueryResult
U - a generic specifying the type of the subsequent updates of the SubscriptionQueryResult
All Implemented Interfaces:
Serializable, org.axonframework.messaging.Message<Q>, org.axonframework.queryhandling.QueryMessage<Q,I>, org.axonframework.queryhandling.SubscriptionQueryMessage<Q,I,U>

public class GrpcBackedSubscriptionQueryMessage<Q,I,U> extends Object implements org.axonframework.queryhandling.SubscriptionQueryMessage<Q,I,U>
Wrapper that allows clients to access a gRPC SubscriptionQuery message as a SubscriptionQueryMessage.
Since:
4.0
Author:
Sara Pellegrini
See Also:
  • Constructor Details

    • GrpcBackedSubscriptionQueryMessage

      public GrpcBackedSubscriptionQueryMessage(io.axoniq.axonserver.grpc.query.SubscriptionQuery subscriptionQuery, org.axonframework.serialization.Serializer messageSerializer, org.axonframework.serialization.Serializer serializer)
      Instantiate a GrpcBackedSubscriptionQueryMessage with the given subscriptionQuery, using the provided messageSerializer to be able to retrieve the payload and MetaData from it. The serializer is solely used to deserialize the response type of the update message.
      Parameters:
      subscriptionQuery - the SubscriptionQuery which is being wrapped as a SubscriptionQueryMessage
      messageSerializer - the Serializer used to deserialize the payload and MetaData from the given queryRequest
      serializer - the Serializer used to deserialize the response type
  • Method Details

    • getUpdateResponseType

      public org.axonframework.messaging.responsetypes.ResponseType<U> getUpdateResponseType()
      Specified by:
      getUpdateResponseType in interface org.axonframework.queryhandling.SubscriptionQueryMessage<Q,I,U>
    • getQueryName

      @Nonnull public String getQueryName()
      Specified by:
      getQueryName in interface org.axonframework.queryhandling.QueryMessage<Q,I>
    • getResponseType

      @Nonnull public org.axonframework.messaging.responsetypes.ResponseType<I> getResponseType()
      Specified by:
      getResponseType in interface org.axonframework.queryhandling.QueryMessage<Q,I>
    • getIdentifier

      public String getIdentifier()
      Specified by:
      getIdentifier in interface org.axonframework.messaging.Message<Q>
    • getMetaData

      public org.axonframework.messaging.MetaData getMetaData()
      Specified by:
      getMetaData in interface org.axonframework.messaging.Message<Q>
    • getPayload

      public Q getPayload()
      Specified by:
      getPayload in interface org.axonframework.messaging.Message<Q>
    • getPayloadType

      public Class<Q> getPayloadType()
      Specified by:
      getPayloadType in interface org.axonframework.messaging.Message<Q>
    • withMetaData

      public GrpcBackedSubscriptionQueryMessage<Q,I,U> withMetaData(@Nonnull Map<String,?> metaData)
      Specified by:
      withMetaData in interface org.axonframework.messaging.Message<Q>
      Specified by:
      withMetaData in interface org.axonframework.queryhandling.QueryMessage<Q,I>
      Specified by:
      withMetaData in interface org.axonframework.queryhandling.SubscriptionQueryMessage<Q,I,U>
    • andMetaData

      public GrpcBackedSubscriptionQueryMessage<Q,I,U> andMetaData(@Nonnull Map<String,?> metaData)
      Specified by:
      andMetaData in interface org.axonframework.messaging.Message<Q>
      Specified by:
      andMetaData in interface org.axonframework.queryhandling.QueryMessage<Q,I>
      Specified by:
      andMetaData in interface org.axonframework.queryhandling.SubscriptionQueryMessage<Q,I,U>