WsWebSocketContainer (Apache Tomcat 9.0.69 API Documentation)

Package org.apache.tomcat.websocket

## Class WsWebSocketContainer

- java.lang.Object
- - org.apache.tomcat.websocket.WsWebSocketContainer

- All Implemented Interfaces:
    `WebSocketContainer`, `BackgroundProcess`
  Direct Known Subclasses:
    `WsServerContainer`

      public class WsWebSocketContainer
      extends java.lang.Object
      implements WebSocketContainer, BackgroundProcess

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `WsWebSocketContainer()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `backgroundProcess()` |
    `Session` | `connectToServer​(java.lang.Class<?> annotatedEndpointClass, java.net.URI path)` |
    `Session` | `connectToServer​(java.lang.Class<? extends Endpoint> clazz, ClientEndpointConfig clientEndpointConfiguration, java.net.URI path)` | Creates a new connection to the WebSocket.
    `Session` | `connectToServer​(java.lang.Object pojo, java.net.URI path)` |
    `Session` | `connectToServer​(Endpoint endpoint, ClientEndpointConfig clientEndpointConfiguration, java.net.URI path)` | Creates a new connection to the WebSocket.
    `void` | `destroy()` | Cleans up the resources still in use by WebSocket sessions created from this container.
    `long` | `getDefaultAsyncSendTimeout()` | Get the default timeout for sending a message asynchronously.
    `int` | `getDefaultMaxBinaryMessageBufferSize()` | Get the default maximum buffer size for binary messages.
    `long` | `getDefaultMaxSessionIdleTimeout()` | Get the current default session idle timeout.
    `int` | `getDefaultMaxTextMessageBufferSize()` | Get the default maximum buffer size for text messages.
    `java.util.Set<Extension>` | `getInstalledExtensions()` | Get the installed extensions.
    `protected InstanceManager` | `getInstanceManager​(java.lang.ClassLoader classLoader)` |
    `int` | `getProcessPeriod()` | The default value is 10 which means session expirations are processed every 10 seconds.
    `protected void` | `registerSession​(java.lang.Object key, WsSession wsSession)` |
    `void` | `setAsyncSendTimeout​(long timeout)` | Set the default timeout for sending a message asynchronously.
    `void` | `setDefaultMaxBinaryMessageBufferSize​(int max)` | Set the default maximum buffer size for binary messages.
    `void` | `setDefaultMaxSessionIdleTimeout​(long timeout)` | Set the default session idle timeout.
    `void` | `setDefaultMaxTextMessageBufferSize​(int max)` | Set the default maximum buffer size for text messages.
    `protected void` | `setInstanceManager​(InstanceManager instanceManager)` |
    `void` | `setProcessPeriod​(int period)` |
    `protected void` | `unregisterSession​(java.lang.Object key, WsSession wsSession)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### WsWebSocketContainer

          public WsWebSocketContainer()

  - ### Method Detail

    - #### getInstanceManager

          protected InstanceManager getInstanceManager​(java.lang.ClassLoader classLoader)

    - #### setInstanceManager

          protected void setInstanceManager​(InstanceManager instanceManager)

    - #### connectToServer

          public Session connectToServer​(java.lang.Object pojo,
                                         java.net.URI path)
                                  throws DeploymentException

      Specified by:
        `connectToServer` in interface `WebSocketContainer`
      Throws:
        `DeploymentException`

    - #### connectToServer

          public Session connectToServer​(java.lang.Class<?> annotatedEndpointClass,
                                         java.net.URI path)
                                  throws DeploymentException

      Specified by:
        `connectToServer` in interface `WebSocketContainer`
      Throws:
        `DeploymentException`

    - #### connectToServer

          public Session connectToServer​(java.lang.Class<? extends Endpoint> clazz,
                                         ClientEndpointConfig clientEndpointConfiguration,
                                         java.net.URI path)
                                  throws DeploymentException

      Description copied from interface: `javax.websocket.WebSocketContainer`
      Creates a new connection to the WebSocket.
      Specified by:
        `connectToServer` in interface `WebSocketContainer`
      Parameters:
        `clazz` - An instance of this class will be created to handle responses from the server
        `clientEndpointConfiguration` - Used to configure the new connection
        `path` - The full URL of the WebSocket endpoint to connect to
      Returns:
        The WebSocket session for the connection
      Throws:
        `DeploymentException` - If the connection cannot be established

    - #### connectToServer

          public Session connectToServer​(Endpoint endpoint,
                                         ClientEndpointConfig clientEndpointConfiguration,
                                         java.net.URI path)
                                  throws DeploymentException

      Description copied from interface: `javax.websocket.WebSocketContainer`
      Creates a new connection to the WebSocket.
      Specified by:
        `connectToServer` in interface `WebSocketContainer`
      Parameters:
        `endpoint` - The endpoint instance that will handle responses from the server
        `clientEndpointConfiguration` - Used to configure the new connection
        `path` - The full URL of the WebSocket endpoint to connect to
      Returns:
        The WebSocket session for the connection
      Throws:
        `DeploymentException` - If the connection cannot be established

    - #### registerSession

          protected void registerSession​(java.lang.Object key,
                                         WsSession wsSession)

    - #### unregisterSession

          protected void unregisterSession​(java.lang.Object key,
                                           WsSession wsSession)

    - #### getDefaultMaxSessionIdleTimeout

          public long getDefaultMaxSessionIdleTimeout()

      Description copied from interface: `javax.websocket.WebSocketContainer`
      Get the current default session idle timeout.
      Specified by:
        `getDefaultMaxSessionIdleTimeout` in interface `WebSocketContainer`
      Returns:
        The current default session idle timeout in milliseconds. Zero or negative values indicate an infinite timeout.

    - #### setDefaultMaxSessionIdleTimeout

          public void setDefaultMaxSessionIdleTimeout​(long timeout)

      Description copied from interface: `javax.websocket.WebSocketContainer`
      Set the default session idle timeout.
      Specified by:
        `setDefaultMaxSessionIdleTimeout` in interface `WebSocketContainer`
      Parameters:
        `timeout` - The new default session idle timeout in milliseconds. Zero or negative values indicate an infinite timeout.

    - #### getDefaultMaxBinaryMessageBufferSize

          public int getDefaultMaxBinaryMessageBufferSize()

      Description copied from interface: `javax.websocket.WebSocketContainer`
      Get the default maximum buffer size for binary messages.
      Specified by:
        `getDefaultMaxBinaryMessageBufferSize` in interface `WebSocketContainer`
      Returns:
        The current default maximum buffer size in bytes

    - #### setDefaultMaxBinaryMessageBufferSize

          public void setDefaultMaxBinaryMessageBufferSize​(int max)

      Description copied from interface: `javax.websocket.WebSocketContainer`
      Set the default maximum buffer size for binary messages.
      Specified by:
        `setDefaultMaxBinaryMessageBufferSize` in interface `WebSocketContainer`
      Parameters:
        `max` - The new default maximum buffer size in bytes

    - #### getDefaultMaxTextMessageBufferSize

          public int getDefaultMaxTextMessageBufferSize()

      Description copied from interface: `javax.websocket.WebSocketContainer`
      Get the default maximum buffer size for text messages.
      Specified by:
        `getDefaultMaxTextMessageBufferSize` in interface `WebSocketContainer`
      Returns:
        The current default maximum buffer size in characters

    - #### setDefaultMaxTextMessageBufferSize

          public void setDefaultMaxTextMessageBufferSize​(int max)

      Description copied from interface: `javax.websocket.WebSocketContainer`
      Set the default maximum buffer size for text messages.
      Specified by:
        `setDefaultMaxTextMessageBufferSize` in interface `WebSocketContainer`
      Parameters:
        `max` - The new default maximum buffer size in characters

    - #### getInstalledExtensions

          public java.util.Set<Extension> getInstalledExtensions()

      Get the installed extensions. Currently, this implementation does not support any extensions.
      Specified by:
        `getInstalledExtensions` in interface `WebSocketContainer`
      Returns:
        The set of extensions that are supported by this WebSocket implementation.

    - #### getDefaultAsyncSendTimeout

          public long getDefaultAsyncSendTimeout()

      Get the default timeout for sending a message asynchronously. The default value for this implementation is -1.
      Specified by:
        `getDefaultAsyncSendTimeout` in interface `WebSocketContainer`
      Returns:
        The current default timeout in milliseconds. A non-positive value means an infinite timeout.

    - #### setAsyncSendTimeout

          public void setAsyncSendTimeout​(long timeout)

      Set the default timeout for sending a message asynchronously. The default value for this implementation is -1.
      Specified by:
        `setAsyncSendTimeout` in interface `WebSocketContainer`
      Parameters:
        `timeout` - The new default timeout in milliseconds. A non-positive value means an infinite timeout.

    - #### destroy

          public void destroy()

      Cleans up the resources still in use by WebSocket sessions created from this container. This includes closing sessions and cancelling `Future`s associated with blocking read/writes.

    - #### backgroundProcess

          public void backgroundProcess()

      Specified by:
        `backgroundProcess` in interface `BackgroundProcess`

    - #### setProcessPeriod

          public void setProcessPeriod​(int period)

      Specified by:
        `setProcessPeriod` in interface `BackgroundProcess`

    - #### getProcessPeriod

          public int getProcessPeriod()

      The default value is 10 which means session expirations are processed every 10 seconds.
      Specified by:
        `getProcessPeriod` in interface `BackgroundProcess`