WsWebSocketContainer (Apache Tomcat 7.0.96 API Documentation)

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

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static long` | `IO_TIMEOUT_MS_DEFAULT`
    `static java.lang.String` | `IO_TIMEOUT_MS_PROPERTY` Property name to set to configure the timeout (in milliseconds) when establishing a WebSocket connection to server.
    `static java.lang.String` | `SSL_CONTEXT_PROPERTY` Property name to set to configure used SSLContext.
    `static java.lang.String` | `SSL_PROTOCOLS_PROPERTY` Property name to set to configure the value that is passed to `SSLEngine.setEnabledProtocols(String[])`.
    `static java.lang.String` | `SSL_TRUSTSTORE_PROPERTY`
    `static java.lang.String` | `SSL_TRUSTSTORE_PWD_DEFAULT`
    `static java.lang.String` | `SSL_TRUSTSTORE_PWD_PROPERTY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `WsWebSocketContainer()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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(Endpoint endpoint, ClientEndpointConfig clientEndpointConfiguration, java.net.URI path)` Creates a new connection to the WebSocket.
    `Session` | `connectToServer(java.lang.Object pojo, java.net.URI path)`
    `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.
    `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`

- - ### Field Detail

    - #### SSL_PROTOCOLS_PROPERTY

          public static final java.lang.String SSL_PROTOCOLS_PROPERTY

      Property name to set to configure the value that is passed to `SSLEngine.setEnabledProtocols(String[])`. The value should be a comma separated string.
      See Also:
        Constant Field Values

    - #### SSL_TRUSTSTORE_PROPERTY

          public static final java.lang.String SSL_TRUSTSTORE_PROPERTY

      See Also:
        Constant Field Values

    - #### SSL_TRUSTSTORE_PWD_PROPERTY

          public static final java.lang.String SSL_TRUSTSTORE_PWD_PROPERTY

      See Also:
        Constant Field Values

    - #### SSL_TRUSTSTORE_PWD_DEFAULT

          public static final java.lang.String SSL_TRUSTSTORE_PWD_DEFAULT

      See Also:
        Constant Field Values

    - #### SSL_CONTEXT_PROPERTY

          public static final java.lang.String SSL_CONTEXT_PROPERTY

      Property name to set to configure used SSLContext. The value should be an instance of SSLContext. If this property is present, the SSL_TRUSTSTORE* properties are ignored.
      See Also:
        Constant Field Values

    - #### IO_TIMEOUT_MS_PROPERTY

          public static final java.lang.String IO_TIMEOUT_MS_PROPERTY

      Property name to set to configure the timeout (in milliseconds) when establishing a WebSocket connection to server. The default is `IO_TIMEOUT_MS_DEFAULT`.
      See Also:
        Constant Field Values

    - #### IO_TIMEOUT_MS_DEFAULT

          public static final long IO_TIMEOUT_MS_DEFAULT

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### WsWebSocketContainer

          public WsWebSocketContainer()

  - ### Method Detail

    - #### 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 can not 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 can not 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`

Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.