Class AbstractWebsocketClient

java.lang.Object
io.fluxcapacitor.javaclient.common.websocket.AbstractWebsocketClient
All Implemented Interfaces:
AutoCloseable
Direct Known Subclasses:
WebSocketEventStoreClient, WebsocketGatewayClient, WebsocketKeyValueClient, WebsocketSchedulingClient, WebSocketSearchClient, WebsocketTrackingClient

public abstract class AbstractWebsocketClient extends Object implements AutoCloseable
  • Field Details

    • defaultWebSocketContainer

      public static jakarta.websocket.WebSocketContainer defaultWebSocketContainer
    • defaultObjectMapper

      public static com.fasterxml.jackson.databind.ObjectMapper defaultObjectMapper
  • Constructor Details

    • AbstractWebsocketClient

      public AbstractWebsocketClient(URI endpointUri, WebSocketClient.ClientConfig clientConfig, boolean sendMetrics)
    • AbstractWebsocketClient

      public AbstractWebsocketClient(URI endpointUri, WebSocketClient.ClientConfig clientConfig, boolean sendMetrics, int numberOfSessions)
    • AbstractWebsocketClient

      public AbstractWebsocketClient(jakarta.websocket.WebSocketContainer container, URI endpointUri, WebSocketClient.ClientConfig clientConfig, boolean sendMetrics, Duration reconnectDelay, com.fasterxml.jackson.databind.ObjectMapper objectMapper, int numberOfSessions)
  • Method Details

    • send

      protected <R extends QueryResult> CompletableFuture<R> send(Request request)
    • sendAndWait

      protected <R extends QueryResult> R sendAndWait(Request request)
    • sendCommand

      protected CompletableFuture<Void> sendCommand(Command command)
    • onMessage

      public void onMessage(byte[] bytes)
    • handleResult

      protected void handleResult(QueryResult result, String batchId)
    • onClose

      public void onClose(jakarta.websocket.Session session, jakarta.websocket.CloseReason closeReason)
    • retryOutstandingRequests

      protected void retryOutstandingRequests(String sessionId)
    • onError

      public void onError(jakarta.websocket.Session session, Throwable e)
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
    • close

      protected void close(boolean clearOutstandingRequests)
    • tryPublishMetrics

      protected void tryPublishMetrics(JsonType message, Metadata metadata)
    • metricsMetadata

      protected Metadata metricsMetadata()