Package org.apache.logging.log4j.util
Class ServiceLoaderUtil
java.lang.Object
org.apache.logging.log4j.util.ServiceLoaderUtil
This class should be considered internal.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) static <T> Iterable
<T> callServiceLoader
(MethodHandles.Lookup lookup, Class<T> serviceType, ClassLoader classLoader, boolean verbose) (package private) static <T> Stream
<T> loadClassloaderServices
(Class<T> serviceType, MethodHandles.Lookup lookup, ClassLoader classLoader, boolean verbose) static <T> Stream
<T> loadServices
(Class<T> serviceType, MethodHandles.Lookup lookup) Retrieves the available services from the caller's classloader.static <T> Stream
<T> loadServices
(Class<T> serviceType, MethodHandles.Lookup lookup, boolean useTccl) Retrieves the available services from the caller's classloader and possibly the thread context classloader.(package private) static <T> Stream
<T> loadServices
(Class<T> serviceType, MethodHandles.Lookup lookup, boolean useTccl, boolean verbose)
-
Field Details
-
MAX_BROKEN_SERVICES
private static final int MAX_BROKEN_SERVICES- See Also:
-
-
Constructor Details
-
ServiceLoaderUtil
private ServiceLoaderUtil()
-
-
Method Details
-
loadServices
Retrieves the available services from the caller's classloader. Broken services will be ignored.- Type Parameters:
T
- The service type.- Parameters:
serviceType
- The class of the service.lookup
- The calling class data.- Returns:
- A stream of service instances.
-
loadServices
public static <T> Stream<T> loadServices(Class<T> serviceType, MethodHandles.Lookup lookup, boolean useTccl) Retrieves the available services from the caller's classloader and possibly the thread context classloader. Broken services will be ignored.- Type Parameters:
T
- The service type.- Parameters:
serviceType
- The class of the service.lookup
- The calling class data.useTccl
- If true the thread context classloader will also be used.- Returns:
- A stream of service instances.
-
loadServices
static <T> Stream<T> loadServices(Class<T> serviceType, MethodHandles.Lookup lookup, boolean useTccl, boolean verbose) -
loadClassloaderServices
static <T> Stream<T> loadClassloaderServices(Class<T> serviceType, MethodHandles.Lookup lookup, ClassLoader classLoader, boolean verbose) -
callServiceLoader
static <T> Iterable<T> callServiceLoader(MethodHandles.Lookup lookup, Class<T> serviceType, ClassLoader classLoader, boolean verbose)
-