com.vaadin.flow.server.startup.
Interface ClassLoaderAwareServletContainerInitializer
All Superinterfaces:
jakarta.servlet.ServletContainerInitializer
All Known Subinterfaces:
All Known Implementing Classes:
AnnotationValidator, DevModeStartupListener, ErrorNavigationTargetInitializer, LookupServletContainerInitializer, RouteRegistryInitializer, VaadinAppShellInitializer, WebComponentConfigurationRegistryInitializer, WebComponentExporterAwareValidator
Allows to load the implementation class by one classloader but accepts
classes in onStartup(Set, ServletContext) method loaded by another
classloader.
Workaround for https://github.com/vaadin/flow/issues/7805.
Author:
Vaadin Ltd
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidOverridden to use different classloaders if needed.
voidImplement this method instead of
onStartup(Set, ServletContext)to handle classes accessible by different classloaders.default booleanWhether this initializer requires lookup or not.
-
Method Details
-
onStartup
default void onStartup(Set<Class<?>> set, jakarta.servlet.ServletContext context) throws jakarta.servlet.ServletException Overridden to use different classloaders if needed.
Specified by:
onStartupin interfacejakarta.servlet.ServletContainerInitializerThrows:
jakarta.servlet.ServletException -
requiresLookup
default boolean requiresLookup()Whether this initializer requires lookup or not.
Returns:
whether this initializer requires lookup
-
process
void process(Set<Class<?>> classSet, jakarta.servlet.ServletContext context) throws jakarta.servlet.ServletException Implement this method instead of
onStartup(Set, ServletContext)to handle classes accessible by different classloaders.Parameters:
classSet- the Set of application classes that extend, implement, or have been annotated with the class types specified by theHandlesTypesannotation, ornullif there are no matches, or thisServletContainerInitializerhas not been annotated withHandlesTypescontext- theServletContextof the web application that is being started and in which the classes contained inclassSetwere foundThrows:
jakarta.servlet.ServletException- if an error has occurredSee Also:
-