Class JerseyServletContainerInitializer
- java.lang.Object
-
- org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer
-
- All Implemented Interfaces:
javax.servlet.ServletContainerInitializer
public final class JerseyServletContainerInitializer extends java.lang.Object implements javax.servlet.ServletContainerInitializer
ServletContainerInitializer
implementation used for Servlet 3.x deployment.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.logging.Logger
LOGGER
-
Constructor Summary
Constructors Constructor Description JerseyServletContainerInitializer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static void
addServletWithApplication(javax.servlet.ServletContext context, java.lang.Class<? extends javax.ws.rs.core.Application> clazz, java.util.Set<java.lang.Class<?>> defaultClasses)
Add new servlet according toApplication
subclass withApplicationPath
annotation or existingservlet-mapping
.private static void
addServletWithDefaultConfiguration(javax.servlet.ServletContext context, java.util.Set<java.lang.Class<?>> classes)
Enhance default servlet (namedApplication
) configuration.private static void
addServletWithExistingRegistration(javax.servlet.ServletContext context, javax.servlet.ServletRegistration registration, java.lang.Class<? extends javax.ws.rs.core.Application> clazz, java.util.Set<java.lang.Class<?>> classes)
Enhance existing servlet configuration.private static void
collectJaxRsRegistrations(java.util.Map<java.lang.String,? extends javax.servlet.Registration> registrations, java.util.List<javax.servlet.Registration> collected, java.lang.Class<? extends javax.ws.rs.core.Application> a)
private static java.lang.String
createMappingPath(javax.ws.rs.ApplicationPath ap)
private static java.util.Set<java.lang.String>
findJerseyServletNames(javax.servlet.ServletContext servletContext)
Returns names of all registered Jersey servlets.private static java.util.Set<java.lang.Class<? extends javax.ws.rs.core.Application>>
getApplicationClasses(java.util.Set<java.lang.Class<?>> classes)
private static java.util.List<javax.servlet.Registration>
getInitParamDeclaredRegistrations(javax.servlet.ServletContext context, java.lang.Class<? extends javax.ws.rs.core.Application> clazz)
private static java.util.Map<java.lang.String,java.lang.Object>
getInitParams(javax.servlet.ServletRegistration sr)
private static java.util.Set<java.lang.Class<?>>
getRootResourceAndProviderClasses(java.util.Set<java.lang.Class<?>> classes)
private static boolean
isJerseyServlet(java.lang.String className)
Check if theclassName
is an implementation of a Jersey Servlet container.private static boolean
mappingExists(javax.servlet.ServletContext sc, java.lang.String mapping)
void
onStartup(java.util.Set<java.lang.Class<?>> classes, javax.servlet.ServletContext servletContext)
private void
onStartupImpl(java.util.Set<java.lang.Class<?>> classes, javax.servlet.ServletContext servletContext)
-
-
-
Method Detail
-
onStartup
public void onStartup(java.util.Set<java.lang.Class<?>> classes, javax.servlet.ServletContext servletContext) throws javax.servlet.ServletException
- Specified by:
onStartup
in interfacejavax.servlet.ServletContainerInitializer
- Throws:
javax.servlet.ServletException
-
onStartupImpl
private void onStartupImpl(java.util.Set<java.lang.Class<?>> classes, javax.servlet.ServletContext servletContext) throws javax.servlet.ServletException
- Throws:
javax.servlet.ServletException
-
findJerseyServletNames
private static java.util.Set<java.lang.String> findJerseyServletNames(javax.servlet.ServletContext servletContext)
Returns names of all registered Jersey servlets. Servlets are configured inweb.xml
or managed via Servlet API.- Parameters:
servletContext
- theServletContext
of the web application that is being started- Returns:
- list of Jersey servlet names or empty array, never returns
null
-
isJerseyServlet
private static boolean isJerseyServlet(java.lang.String className)
Check if theclassName
is an implementation of a Jersey Servlet container.- Returns:
true
if the class is a Jersey servlet container class,false
otherwise.
-
getInitParamDeclaredRegistrations
private static java.util.List<javax.servlet.Registration> getInitParamDeclaredRegistrations(javax.servlet.ServletContext context, java.lang.Class<? extends javax.ws.rs.core.Application> clazz)
-
collectJaxRsRegistrations
private static void collectJaxRsRegistrations(java.util.Map<java.lang.String,? extends javax.servlet.Registration> registrations, java.util.List<javax.servlet.Registration> collected, java.lang.Class<? extends javax.ws.rs.core.Application> a)
-
addServletWithDefaultConfiguration
private static void addServletWithDefaultConfiguration(javax.servlet.ServletContext context, java.util.Set<java.lang.Class<?>> classes) throws javax.servlet.ServletException
Enhance default servlet (namedApplication
) configuration.- Throws:
javax.servlet.ServletException
-
addServletWithApplication
private static void addServletWithApplication(javax.servlet.ServletContext context, java.lang.Class<? extends javax.ws.rs.core.Application> clazz, java.util.Set<java.lang.Class<?>> defaultClasses) throws javax.servlet.ServletException
Add new servlet according toApplication
subclass withApplicationPath
annotation or existingservlet-mapping
.- Throws:
javax.servlet.ServletException
-
addServletWithExistingRegistration
private static void addServletWithExistingRegistration(javax.servlet.ServletContext context, javax.servlet.ServletRegistration registration, java.lang.Class<? extends javax.ws.rs.core.Application> clazz, java.util.Set<java.lang.Class<?>> classes) throws javax.servlet.ServletException
Enhance existing servlet configuration.- Throws:
javax.servlet.ServletException
-
getInitParams
private static java.util.Map<java.lang.String,java.lang.Object> getInitParams(javax.servlet.ServletRegistration sr)
-
mappingExists
private static boolean mappingExists(javax.servlet.ServletContext sc, java.lang.String mapping)
-
createMappingPath
private static java.lang.String createMappingPath(javax.ws.rs.ApplicationPath ap)
-
getApplicationClasses
private static java.util.Set<java.lang.Class<? extends javax.ws.rs.core.Application>> getApplicationClasses(java.util.Set<java.lang.Class<?>> classes)
-
getRootResourceAndProviderClasses
private static java.util.Set<java.lang.Class<?>> getRootResourceAndProviderClasses(java.util.Set<java.lang.Class<?>> classes)
-
-