Class ExecutorProviders


  • public final class ExecutorProviders
    extends java.lang.Object
    A utility class with a methods for handling executor injection registration and proper disposal.
    • Constructor Detail

      • ExecutorProviders

        private ExecutorProviders()
    • Method Detail

      • registerExecutorBindings

        public static void registerExecutorBindings​(InjectionManager injectionManager)
        Create qualified ExecutorService and ScheduledExecutorService injection bindings based on the registered providers implementing the ExecutorServiceProvider and/or ScheduledExecutorServiceProvider 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 the Named qualifier annotation attached to the registered provider implementation classes. ExecutorServiceProvider and ScheduledExecutorServiceProvider will be retrieved from InjectionManager.

        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 qualified ExecutorService and ScheduledExecutorService injection bindings based on the registered providers implementing the ExecutorServiceProvider and/or ScheduledExecutorServiceProvider 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 the Named 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.
      • 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)