Class DefaultResultGateway

java.lang.Object
io.fluxcapacitor.javaclient.publishing.DefaultResultGateway
All Implemented Interfaces:
ResultGateway

public class DefaultResultGateway extends Object implements ResultGateway
Default implementation of the ResultGateway interface for sending response messages.

This class is responsible for handling responses to commands, queries, dispatching the result message to the specified target using a GatewayClient.

The dispatch process utilizes the DispatchInterceptor and ResponseMapper to modify or monitor messages before they are sent.

See Also:
  • Constructor Details

    • DefaultResultGateway

      public DefaultResultGateway()
  • Method Details

    • respond

      public CompletableFuture<Void> respond(Object payload, Metadata metadata, String target, Integer requestId, Guarantee guarantee)
      Description copied from interface: ResultGateway
      Sends a response with the specified payload, metadata, target, request ID, and delivery guarantee.

      This method gives full control over how and when the response is delivered.

      Specified by:
      respond in interface ResultGateway
      Parameters:
      payload - the payload of the response
      metadata - additional metadata to include
      target - the intended recipient of the response
      requestId - the identifier of the original request
      guarantee - delivery guarantee (e.g., Guarantee.SENT or Guarantee.STORED)
      Returns:
      a CompletableFuture that completes when the response is dispatched (depending on the guarantee)
    • interceptDispatch

      protected SerializedMessage interceptDispatch(Object payload, Metadata metadata)