Class ExecutorProviders
- java.lang.Object
-
- org.glassfish.jersey.process.internal.ExecutorProviders
-
public final class ExecutorProviders extends java.lang.Object
A utility class with a methods for handling executor injection registration and proper disposal.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
ExecutorProviders.ExecutorServiceSupplier
private static class
ExecutorProviders.ScheduledExecutorServiceSupplier
-
Field Summary
Fields Modifier and Type Field Description private static ExtendedLogger
LOGGER
-
Constructor Summary
Constructors Modifier Constructor Description private
ExecutorProviders()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static <T> java.util.List<T>
getExecutorProviders(InjectionManager injectionManager, java.lang.Class<T> providerClass)
private static <T extends ExecutorServiceProvider>
java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,java.util.List<T>>getQualifierToProviderMap(java.util.List<T> executorProviders)
private static void
logExecutorServiceProvider(java.lang.Class<? extends java.lang.annotation.Annotation> qualifierAnnotationClass, java.util.Iterator<ExecutorServiceProvider> bucketProviderIterator, ExecutorServiceProvider executorProvider)
private static void
logScheduledExecutorProvider(java.lang.Class<? extends java.lang.annotation.Annotation> qualifierAnnotationClass, java.util.Iterator<ScheduledExecutorServiceProvider> bucketProviderIterator, ScheduledExecutorServiceProvider executorProvider)
static void
registerExecutorBindings(InjectionManager injectionManager)
Create qualifiedExecutorService
andScheduledExecutorService
injection bindings based on the registered providers implementing theExecutorServiceProvider
and/orScheduledExecutorServiceProvider
SPI.static void
registerExecutorBindings(InjectionManager injectionManager, java.util.List<ExecutorServiceProvider> executorProviders, java.util.List<ScheduledExecutorServiceProvider> scheduledProviders)
Create qualifiedExecutorService
andScheduledExecutorService
injection bindings based on the registered providers implementing theExecutorServiceProvider
and/orScheduledExecutorServiceProvider
SPI.
-
-
-
Field Detail
-
LOGGER
private static final ExtendedLogger LOGGER
-
-
Method Detail
-
registerExecutorBindings
public static void registerExecutorBindings(InjectionManager injectionManager)
Create qualifiedExecutorService
andScheduledExecutorService
injection bindings based on the registered providers implementing theExecutorServiceProvider
and/orScheduledExecutorServiceProvider
SPI.This method supports creation of qualified injection bindings based on custom
qualifier annotations
attached to the registered provider implementation classes as well as named injection bindings based on theNamed
qualifier annotation attached to the registered provider implementation classes.ExecutorServiceProvider
andScheduledExecutorServiceProvider
will be retrieved fromInjectionManager
.- Parameters:
injectionManager
- application's injection manager.
-
getExecutorProviders
private static <T> java.util.List<T> getExecutorProviders(InjectionManager injectionManager, java.lang.Class<T> providerClass)
-
registerExecutorBindings
public static void registerExecutorBindings(InjectionManager injectionManager, java.util.List<ExecutorServiceProvider> executorProviders, java.util.List<ScheduledExecutorServiceProvider> scheduledProviders)
Create qualifiedExecutorService
andScheduledExecutorService
injection bindings based on the registered providers implementing theExecutorServiceProvider
and/orScheduledExecutorServiceProvider
SPI.This method supports creation of qualified injection bindings based on custom
qualifier annotations
attached to the registered provider implementation classes as well as named injection bindings based on theNamed
qualifier annotation attached to the registered provider implementation classes.- Parameters:
injectionManager
- injection manager to register newly created executor bindings.executorProviders
- all executor providers registered internally in Jersey and in configuration.scheduledProviders
- all scheduled executor providers registered internally in Jersey and in configuration.
-
logScheduledExecutorProvider
private static void logScheduledExecutorProvider(java.lang.Class<? extends java.lang.annotation.Annotation> qualifierAnnotationClass, java.util.Iterator<ScheduledExecutorServiceProvider> bucketProviderIterator, ScheduledExecutorServiceProvider executorProvider)
-
logExecutorServiceProvider
private static void logExecutorServiceProvider(java.lang.Class<? extends java.lang.annotation.Annotation> qualifierAnnotationClass, java.util.Iterator<ExecutorServiceProvider> bucketProviderIterator, ExecutorServiceProvider executorProvider)
-
getQualifierToProviderMap
private static <T extends ExecutorServiceProvider> java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,java.util.List<T>> getQualifierToProviderMap(java.util.List<T> executorProviders)
-
-