org.apache.catalina.startup
Class WebappServiceLoader<T>
java.lang.Object
org.apache.catalina.startup.WebappServiceLoader<T>
public class WebappServiceLoader<T>
- extends Object
A variation of Java's JAR ServiceLoader that respects exclusion rules for
web applications.
Primarily intended for use loading ServletContainerInitializers as defined
by Servlet 8.2.4. This implementation does not attempt lazy loading as the
container is required to introspect all implementations discovered.
If the ServletContext defines ORDERED_LIBS, then only JARs in WEB-INF/lib
that are named in that set will be included in the search for
provider configuration files; if ORDERED_LIBS is not defined then
all JARs will be searched for provider configuration files. Providers
defined by resources in the parent ClassLoader will always be returned.
Provider classes will be loaded using the context's ClassLoader.
- See Also:
ServletContainerInitializer
,
ServiceLoader
Method Summary |
List<T> |
load(Class<T> serviceType)
Load the providers for a service type. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
WebappServiceLoader
public WebappServiceLoader(ServletContext context,
String containerSciFilter)
- Construct a loader to load services from a ServletContext.
- Parameters:
context
- the context to use
load
public List<T> load(Class<T> serviceType)
throws IOException
- Load the providers for a service type.
- Parameters:
serviceType
- the type of service to load
- Returns:
- an unmodifiable collection of service providers
- Throws:
IOException
- if there was a problem loading any service
Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.