javax.websocket.server

## Interface ServerContainer

- All Superinterfaces:
    WebSocketContainer

      public interface ServerContainer
      extends WebSocketContainer

  The ServerContainer is the specialized view of the WebSocketContainer available in server-side deployments. There is one ServerContainer instance per websocket application. The ServerContainer holds the methods to be able to register server endpoints during the initialization phase of the application.

  For websocket enabled web containers, developers may obtain a reference to the ServerContainer instance by retrieving it as an attribute named `javax.websocket.server.ServerContainer` on the ServletContext. This way, the registration methods held on this interface may be called to register server endpoints from a ServletContextListener during the deployment of the WAR file containing the endpoint.

  WebSocket implementations that run outside the web container may have other means by which to provide a ServerContainer instance to the developer at application deployment time.

  Once the application deployment phase is complete, and the websocket application has begun accepting incoming connections, the registration methods may no longer be called.

  Author:
    dannycoward

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addEndpoint(Class<?> endpointClass)` Deploys the given annotated endpoint into this ServerContainer during the initialization phase of deploying the application.
    `void` | `addEndpoint(ServerEndpointConfig serverConfig)`

    - ### Methods inherited from interface javax.websocket.WebSocketContainer

      `connectToServer, connectToServer, connectToServer, connectToServer, getDefaultAsyncSendTimeout, getDefaultMaxBinaryMessageBufferSize, getDefaultMaxSessionIdleTimeout, getDefaultMaxTextMessageBufferSize, getInstalledExtensions, setAsyncSendTimeout, setDefaultMaxBinaryMessageBufferSize, setDefaultMaxSessionIdleTimeout, setDefaultMaxTextMessageBufferSize`

- - ### Method Detail

    - #### addEndpoint

          void addEndpoint(Class<?> endpointClass)
                           throws DeploymentException

      Deploys the given annotated endpoint into this ServerContainer during the initialization phase of deploying the application.
      Parameters:
        `endpointClass` - the class of the annotated endpoint
      Throws:
        `DeploymentException` - if the annotated endpoint was badly formed.
        `IllegalStateException` - if the containing websocket application has already been deployed.

    - #### addEndpoint

          void addEndpoint(ServerEndpointConfig serverConfig)
                           throws DeploymentException

      Parameters:
        `serverConfig` - the configuration instance representing the logical endpoint that will be registered.
      Throws:
        `DeploymentException` - if the endpoint was badly formed.
        `IllegalStateException` - if the containing websocket application has already been deployed.

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.