Class WebsocketEndpoint

java.lang.Object
javax.websocket.Endpoint
io.fluxcapacitor.testserver.WebsocketEndpoint
Direct Known Subclasses:
ConsumerEndpoint, EventSourcingEndpoint, KeyValueEndPoint, ProducerEndpoint, SchedulingEndpoint, SearchEndpoint

public abstract class WebsocketEndpoint extends javax.websocket.Endpoint
  • Field Details

    • shuttingDown

      protected final AtomicBoolean shuttingDown
    • shutDown

      protected volatile boolean shutDown
  • Constructor Details

    • WebsocketEndpoint

      protected WebsocketEndpoint()
    • WebsocketEndpoint

      protected WebsocketEndpoint(Executor requestExecutor)
    • WebsocketEndpoint

      protected WebsocketEndpoint(com.fasterxml.jackson.databind.ObjectMapper objectMapper, Executor requestExecutor, Executor responseExecutor)
  • Method Details

    • onOpen

      public void onOpen(javax.websocket.Session session, javax.websocket.EndpointConfig config)
      Specified by:
      onOpen in class javax.websocket.Endpoint
    • handleMessage

      protected void handleMessage(javax.websocket.Session session, byte[] bytes)
    • getRequestType

      protected Class<? extends io.fluxcapacitor.common.api.JsonType> getRequestType()
    • sendResult

      protected void sendResult(javax.websocket.Session session, Object result)
    • onClose

      public void onClose(javax.websocket.Session session, javax.websocket.CloseReason closeReason)
      Overrides:
      onClose in class javax.websocket.Endpoint
    • onError

      public void onError(javax.websocket.Session session, Throwable e)
      Overrides:
      onError in class javax.websocket.Endpoint
    • shutDown

      protected void shutDown()
      Close all sessions on the websocket after an optional delay. During the delay we don't handle new requests but will be able to send back results.
    • getCompressionAlgorithm

      protected io.fluxcapacitor.common.serialization.compression.CompressionAlgorithm getCompressionAlgorithm(javax.websocket.Session session)
    • getProjectId

      protected String getProjectId(javax.websocket.Session session)
    • getClientId

      protected String getClientId(javax.websocket.Session session)
    • getClientName

      protected String getClientName(javax.websocket.Session session)