Class DefaultResultGateway
java.lang.Object
io.fluxzero.sdk.common.AbstractNamespaced<ResultGateway>
io.fluxzero.sdk.publishing.DefaultResultGateway
- All Implemented Interfaces:
Namespaced<ResultGateway>, ResultGateway
public class DefaultResultGateway
extends AbstractNamespaced<ResultGateway>
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ResultGatewaycreateForNamespace(String namespace) protected SerializedMessageinterceptDispatch(Object payload, Metadata metadata) Sends a response with the specified payload, metadata, target, request ID, and delivery guarantee.Methods inherited from class AbstractNamespaced
close, forNamespaceMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Namespaced
forDefaultNamespace, forNamespaceMethods inherited from interface ResultGateway
respond
-
Constructor Details
-
DefaultResultGateway
public DefaultResultGateway()
-
-
Method Details
-
createForNamespace
- Specified by:
createForNamespacein classAbstractNamespaced<ResultGateway>
-
respond
public CompletableFuture<Void> respond(Object payload, Metadata metadata, String target, Integer requestId, Guarantee guarantee) Description copied from interface:ResultGatewaySends 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:
respondin interfaceResultGateway- Parameters:
payload- the payload of the responsemetadata- additional metadata to includetarget- the intended recipient of the responserequestId- the identifier of the original requestguarantee- delivery guarantee (e.g.,Guarantee.SENTorGuarantee.STORED)- Returns:
- a
CompletableFuturethat completes when the response is dispatched (depending on the guarantee)
-
interceptDispatch
-