Class WebSocketServerContainerInitializer

java.lang.Object
org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer
All Implemented Interfaces:
javax.servlet.ServletContainerInitializer

public class WebSocketServerContainerInitializer extends Object implements javax.servlet.ServletContainerInitializer
  • Field Details

    • ATTR_JAVAX_SERVER_CONTAINER

      public static final String ATTR_JAVAX_SERVER_CONTAINER
      The ServletContext attribute key name for the ServerContainer per javax.websocket spec 1.0 final section 6.4 Programmatic Server Deployment
    • ENABLE_KEY

      public static final String ENABLE_KEY
      See Also:
    • ADD_DYNAMIC_FILTER_KEY

      public static final String ADD_DYNAMIC_FILTER_KEY
      See Also:
    • LOG

      private static final org.eclipse.jetty.util.log.Logger LOG
    • HTTPCLIENT_ATTRIBUTE

      public static final String HTTPCLIENT_ATTRIBUTE
      See Also:
  • Constructor Details

    • WebSocketServerContainerInitializer

      public WebSocketServerContainerInitializer()
  • Method Details

    • isEnabledViaContext

      public static boolean isEnabledViaContext(javax.servlet.ServletContext context, String keyName, boolean defValue)
      Test a ServletContext for init-param or attribute at keyName for true or false setting that determines if the specified feature is enabled (or not).
      Parameters:
      context - the context to search
      keyName - the key name
      defValue - the default value, if the value is not specified in the context
      Returns:
      the value for the feature key
    • configureContext

      @Deprecated public static ServerContainer configureContext(org.eclipse.jetty.servlet.ServletContextHandler context) throws javax.servlet.ServletException
      Parameters:
      context - the ServletContextHandler to use
      Returns:
      a configured ServerContainer instance
      Throws:
      javax.servlet.ServletException - if the WebSocketUpgradeFilter cannot be configured
    • configureContext

      @Deprecated public static ServerContainer configureContext(javax.servlet.ServletContext context, org.eclipse.jetty.servlet.ServletContextHandler jettyContext) throws javax.servlet.ServletException
      Parameters:
      context - not used
      jettyContext - the ServletContextHandler to use
      Returns:
      a configured ServerContainer instance
      Throws:
      javax.servlet.ServletException - if the WebSocketUpgradeFilter cannot be configured
    • initialize

      public static ServerContainer initialize(org.eclipse.jetty.servlet.ServletContextHandler context) throws javax.servlet.ServletException
      Immediately initialize the ServletContext with the default (and empty) ServerContainer.

      This method is typically called from onStartup(Set, ServletContext) itself or from another dependent ServletContainerInitializer that requires minimal setup to be performed.

      This method SHOULD NOT BE CALLED by users of Jetty. Use the configure(ServletContextHandler, Configurator) method instead.

      There is no enablement check here, and no automatic deployment of endpoints at this point in time. It merely sets up the ServletContext so with the basics needed to start configuring for `javax.websocket.server` based endpoints.

      Parameters:
      context - the context to work with
      Returns:
      the default ServerContainer for this context
      Throws:
      javax.servlet.ServletException
    • configure

      public static void configure(org.eclipse.jetty.servlet.ServletContextHandler context, WebSocketServerContainerInitializer.Configurator configurator)
      Configure the ServletContextHandler to call onStartup(Set, ServletContext) during the ServletContext initialization phase.
      Parameters:
      context - the context to add listener to
      configurator - the lambda that is called to allow the ServerContainer to be configured during the ServletContext initialization phase
    • onStartup

      public void onStartup(Set<Class<?>> c, javax.servlet.ServletContext context) throws javax.servlet.ServletException
      Specified by:
      onStartup in interface javax.servlet.ServletContainerInitializer
      Throws:
      javax.servlet.ServletException
    • filterClasses

      private void filterClasses(Set<Class<?>> c, Set<Class<? extends javax.websocket.Endpoint>> discoveredExtendedEndpoints, Set<Class<?>> discoveredAnnotatedEndpoints, Set<Class<? extends javax.websocket.server.ServerApplicationConfig>> serverAppConfigs)