com.vaadin.server.communication.
Class JSR356WebsocketInitializer
- java.lang.Object
-
- com.vaadin.server.communication.JSR356WebsocketInitializer
-
All Implemented Interfaces:
EventListener
,javax.servlet.ServletContextListener
@WebListener public class JSR356WebsocketInitializer extends Object implements javax.servlet.ServletContextListener
Initializer class for JSR 356 websockets.
Websocket specification says that initialization of websocket end points should be done in the servlet context initialization phase. Some servers implement this strictly so that end points cannot be registered after the context initialization phase.
Note that
WebListener
is Servlet 3.0 API so this will not be run for older servers (unless added to web.xml), but these servers do not support JSR 356 websockets either.Since:
7.5.0
Author:
Vaadin Ltd
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JSR356WebsocketInitializer.FakeServletConfig
"ServletConfig" which only provides information from a
ServletRegistration
and itsServletContext
.
-
Constructor Summary
Constructors Constructor Description JSR356WebsocketInitializer()
-
Method Summary
All Methods Modifier and Type Method Description void
contextDestroyed(javax.servlet.ServletContextEvent sce)
void
contextInitialized(javax.servlet.ServletContextEvent sce)
static String
getAttributeName(String servletName)
Returns the name of the attribute in the servlet context where the pre-initialized Atmosphere object is stored.
void
init(javax.servlet.ServletContext servletContext)
Initializes Atmosphere for use with Vaadin servlets found in the given context.
static void
initAtmosphereForVaadinServlet(javax.servlet.ServletRegistration servletRegistration, javax.servlet.ServletContext servletContext)
Initializes Atmosphere for use with the given Vaadin servlet
static boolean
isAtmosphereAvailable()
Checks if Atmosphere is available on the classpath.
protected boolean
isVaadinServlet(javax.servlet.ServletRegistration servletRegistration, javax.servlet.ServletContext servletContext)
Tries to determine if the given servlet registration refers to a Vaadin servlet.
-
-
-
Method Detail
-
contextInitialized
public void contextInitialized(javax.servlet.ServletContextEvent sce)
Specified by:
contextInitialized
in interfacejavax.servlet.ServletContextListener
-
init
public void init(javax.servlet.ServletContext servletContext)
Initializes Atmosphere for use with Vaadin servlets found in the given context.
For JSR 356 websockets to work properly, the initialization must be done in the servlet context initialization phase.
Parameters:
servletContext
- The servlet context
-
initAtmosphereForVaadinServlet
public static void initAtmosphereForVaadinServlet(javax.servlet.ServletRegistration servletRegistration, javax.servlet.ServletContext servletContext)
Initializes Atmosphere for use with the given Vaadin servlet
For JSR 356 websockets to work properly, the initialization must be done in the servlet context initialization phase.
Parameters:
servletRegistration
- The servlet registration info for the servletservletContext
-
-
getAttributeName
public static String getAttributeName(String servletName)
Returns the name of the attribute in the servlet context where the pre-initialized Atmosphere object is stored.
Parameters:
servletName
- The name of the servletReturns:
The attribute name which contains the initialized Atmosphere object
-
isVaadinServlet
protected boolean isVaadinServlet(javax.servlet.ServletRegistration servletRegistration, javax.servlet.ServletContext servletContext)
Tries to determine if the given servlet registration refers to a Vaadin servlet.
Parameters:
servletRegistration
- The servlet registration info for the servletReturns:
false if the servlet is definitely not a Vaadin servlet, true otherwise
-
contextDestroyed
public void contextDestroyed(javax.servlet.ServletContextEvent sce)
Specified by:
contextDestroyed
in interfacejavax.servlet.ServletContextListener
-
isAtmosphereAvailable
public static boolean isAtmosphereAvailable()
Checks if Atmosphere is available on the classpath.
Returns:
true
if Atmosphere is available,false
otherwise
-
-