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 javax.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(javax.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)
    • sendAndForget

      protected Awaitable sendAndForget(JsonType object)
    • send

      protected Awaitable send(JsonType object, javax.websocket.Session session)
    • sendBatch

      protected Awaitable sendBatch(List<JsonType> requests, javax.websocket.Session session)
    • onMessage

      public void onMessage(byte[] bytes)
    • handleResult

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

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

      protected void retryOutstandingRequests(String sessionId)
    • onError

      public void onError(javax.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)