Class PingingEndpointConfigurator
- java.lang.Object
-
- jakarta.websocket.server.ServerEndpointConfig.Configurator
-
- pl.morgwai.base.servlet.guice.scopes.GuiceServerEndpointConfigurator
-
- pl.morgwai.base.servlet.guice.utils.PingingEndpointConfigurator
-
public class PingingEndpointConfigurator extends GuiceServerEndpointConfigurator
AGuiceServerEndpointConfigurator
that automatically registers and deregistersEndpoints
to aWebsocketPingerService
.- See Also:
PingingServletContextListener
-
-
Constructor Summary
Constructors Constructor Description PingingEndpointConfigurator()
PingingEndpointConfigurator(Injector injector, ContextTracker<ContainerCallContext> containerCallContextTracker, WebsocketPingerService pingerService)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static void
deregisterPingerService(ServletContext servletContext)
Removes the reference to theWebsocketPingerService
associated withservletContext
.protected InvocationHandler
getAdditionalDecorator(Object endpoint)
Subclasses may override this method to further customizeEndpoints
.protected HashSet<Class<? extends Annotation>>
getRequiredEndpointMethodAnnotationTypes()
Returns a set of annotations ofEndpoint
lifecycle methods that are required to be present inEndpoint
classes using this configurator.void
modifyHandshake(ServerEndpointConfig config, HandshakeRequest request, HandshakeResponse response)
static void
registerPingerService(WebsocketPingerService pingerService, ServletContext servletContext)
RegisterspingerService
to be used by container-createdPingingEndpointConfigurator
instances forEndpoints
annotated withServerEndpoint
deployed in theservletContext
.static void
setPingerService(WebsocketPingerService pingerService)
Deprecated, for removal: This API element is subject to removal in a future version.if yourServletContextListener
does not extendPingingServletContextListener
, then useregisterPingerService(WebsocketPingerService, ServletContext)
instead of this method in yourServletContextListener.contextInitialized(ServletContextEvent)
.-
Methods inherited from class pl.morgwai.base.servlet.guice.scopes.GuiceServerEndpointConfigurator
deregisterInjector, getEndpointInstance, registerInjector
-
Methods inherited from class jakarta.websocket.server.ServerEndpointConfig.Configurator
checkOrigin, getNegotiatedExtensions, getNegotiatedSubprotocol
-
-
-
-
Constructor Detail
-
PingingEndpointConfigurator
public PingingEndpointConfigurator()
-
PingingEndpointConfigurator
public PingingEndpointConfigurator(Injector injector, ContextTracker<ContainerCallContext> containerCallContextTracker, WebsocketPingerService pingerService)
-
-
Method Detail
-
registerPingerService
public static void registerPingerService(WebsocketPingerService pingerService, ServletContext servletContext)
RegisterspingerService
to be used by container-createdPingingEndpointConfigurator
instances forEndpoints
annotated withServerEndpoint
deployed in theservletContext
.This method is called automatically by
PingingServletContextListener.createInjector(LinkedList)
, it must be called manually in apps that don't use it.
-
deregisterPingerService
public static void deregisterPingerService(ServletContext servletContext)
Removes the reference to theWebsocketPingerService
associated withservletContext
.This method is called automatically by
PingingServletContextListener.contextDestroyed(ServletContextEvent)
, it must be called manually in apps that don't use it.
-
setPingerService
@Deprecated(forRemoval=true) public static void setPingerService(WebsocketPingerService pingerService)
Deprecated, for removal: This API element is subject to removal in a future version.if yourServletContextListener
does not extendPingingServletContextListener
, then useregisterPingerService(WebsocketPingerService, ServletContext)
instead of this method in yourServletContextListener.contextInitialized(ServletContextEvent)
.
-
modifyHandshake
public void modifyHandshake(ServerEndpointConfig config, HandshakeRequest request, HandshakeResponse response)
Description copied from class:GuiceServerEndpointConfigurator
Stores intouser properties
theHttpSession
associated withrequest
.For
Configurator
instances created by the container (as a result of providing this class as aServerEndpoint.configurator()
argument of annotatedEndpoint
classes), this method will also initializeGuiceServerEndpointConfigurator.injector
reference on its first invocation.- Overrides:
modifyHandshake
in classGuiceServerEndpointConfigurator
-
getRequiredEndpointMethodAnnotationTypes
protected HashSet<Class<? extends Annotation>> getRequiredEndpointMethodAnnotationTypes()
Description copied from class:GuiceServerEndpointConfigurator
Returns a set of annotations ofEndpoint
lifecycle methods that are required to be present inEndpoint
classes using this configurator. By default a singleton ofOnOpen
. Subclasses may override this method if needed by callingsuper
and adding their required annotations to the obtained set before returning it.- Overrides:
getRequiredEndpointMethodAnnotationTypes
in classGuiceServerEndpointConfigurator
-
getAdditionalDecorator
protected InvocationHandler getAdditionalDecorator(Object endpoint)
Description copied from class:GuiceServerEndpointConfigurator
Subclasses may override this method to further customizeEndpoints
.InvocationHandler.invoke(Object, Method, Object[])
method of the returned handler will be executed withinContainerCallContext
andWebsocketConnectionContext
. By default it returns a handler that simply invokes the given method onendpoint
.- Overrides:
getAdditionalDecorator
in classGuiceServerEndpointConfigurator
-
-