Interface TimeLimiterRegistry

    • Nested Class Summary

      • Nested classes/interfaces inherited from interface io.github.resilience4j.core.Registry

        io.github.resilience4j.core.Registry.EventPublisher<E extends java.lang.Object>
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      io.vavr.collection.Seq<TimeLimiter> getAllTimeLimiters()
      Returns all managed TimeLimiter instances.
      static TimeLimiterRegistry of​(TimeLimiterConfig defaultTimeLimiterConfig)
      Creates a TimeLimiterRegistry with a custom default TimeLimiter configuration.
      static TimeLimiterRegistry of​(TimeLimiterConfig defaultTimeLimiterConfig, io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer)
      Creates a TimeLimiterRegistry with a custom default TimeLimiter configuration and a TimeLimiter registry event consumer.
      static TimeLimiterRegistry of​(TimeLimiterConfig defaultTimeLimiterConfig, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter>> registryEventConsumers)
      Creates a TimeLimiterRegistry with a custom default TimeLimiter configuration and a list of TimeLimiter registry event consumers.
      static TimeLimiterRegistry of​(java.util.Map<java.lang.String,​TimeLimiterConfig> configs)
      Creates a TimeLimiterRegistry with a Map of shared TimeLimiter configurations.
      static TimeLimiterRegistry of​(java.util.Map<java.lang.String,​TimeLimiterConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer)
      Creates a TimeLimiterRegistry with a Map of shared TimeLimiter configurations and a TimeLimiter registry event consumer.
      static TimeLimiterRegistry of​(java.util.Map<java.lang.String,​TimeLimiterConfig> configs, io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer, io.vavr.collection.Map<java.lang.String,​java.lang.String> tags)
      Creates a TimeLimiterRegistry with a Map of shared TimeLimiter configurations and a TimeLimiter registry event consumer.
      static TimeLimiterRegistry of​(java.util.Map<java.lang.String,​TimeLimiterConfig> configs, io.vavr.collection.Map<java.lang.String,​java.lang.String> tags)
      Creates a TimeLimiterRegistry with a Map of shared TimeLimiter configurations.
      static TimeLimiterRegistry of​(java.util.Map<java.lang.String,​TimeLimiterConfig> configs, java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter>> registryEventConsumers)
      Creates a TimeLimiterRegistry with a Map of shared TimeLimiter configurations and a list of TimeLimiter registry event consumers.
      static TimeLimiterRegistry ofDefaults()
      Returns a managed TimeLimiterConfig or creates a new one with a default TimeLimiter configuration.
      TimeLimiter timeLimiter​(java.lang.String name)
      Returns a managed TimeLimiter or creates a new one with the default TimeLimiter configuration.
      TimeLimiter timeLimiter​(java.lang.String name, TimeLimiterConfig timeLimiterConfig)
      Returns a managed TimeLimiter or creates a new one with a custom TimeLimiter configuration.
      TimeLimiter timeLimiter​(java.lang.String name, TimeLimiterConfig timeLimiterConfig, io.vavr.collection.Map<java.lang.String,​java.lang.String> tags)
      Returns a managed TimeLimiter or creates a new one with a custom TimeLimiter configuration.
      TimeLimiter timeLimiter​(java.lang.String name, io.vavr.collection.Map<java.lang.String,​java.lang.String> tags)
      Returns a managed TimeLimiter or creates a new one with the default TimeLimiter configuration.
      TimeLimiter timeLimiter​(java.lang.String name, java.lang.String configName)
      Returns a managed TimeLimiter or creates a new one.
      TimeLimiter timeLimiter​(java.lang.String name, java.lang.String configName, io.vavr.collection.Map<java.lang.String,​java.lang.String> tags)
      Returns a managed TimeLimiter or creates a new one.
      TimeLimiter timeLimiter​(java.lang.String name, java.util.function.Supplier<TimeLimiterConfig> timeLimiterConfigSupplier)
      Returns a managed TimeLimiterConfig or creates a new one with a custom TimeLimiterConfig configuration.
      TimeLimiter timeLimiter​(java.lang.String name, java.util.function.Supplier<TimeLimiterConfig> timeLimiterConfigSupplier, io.vavr.collection.Map<java.lang.String,​java.lang.String> tags)
      Returns a managed TimeLimiter or creates a new one with a custom TimeLimiter configuration.
      • Methods inherited from interface io.github.resilience4j.core.Registry

        addConfiguration, find, getConfiguration, getDefaultConfig, getEventPublisher, getTags, remove, replace
    • Method Detail

      • of

        static TimeLimiterRegistry of​(TimeLimiterConfig defaultTimeLimiterConfig)
        Creates a TimeLimiterRegistry with a custom default TimeLimiter configuration.
        Parameters:
        defaultTimeLimiterConfig - a custom default TimeLimiter configuration
        Returns:
        a TimeLimiterRegistry instance backed by a custom TimeLimiter configuration
      • of

        static TimeLimiterRegistry of​(TimeLimiterConfig defaultTimeLimiterConfig,
                                      io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer)
        Creates a TimeLimiterRegistry with a custom default TimeLimiter configuration and a TimeLimiter registry event consumer.
        Parameters:
        defaultTimeLimiterConfig - a custom default TimeLimiter configuration.
        registryEventConsumer - a TimeLimiter registry event consumer.
        Returns:
        a TimeLimiterRegistry with a custom TimeLimiter configuration and a TimeLimiter registry event consumer.
      • of

        static TimeLimiterRegistry of​(TimeLimiterConfig defaultTimeLimiterConfig,
                                      java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter>> registryEventConsumers)
        Creates a TimeLimiterRegistry with a custom default TimeLimiter configuration and a list of TimeLimiter registry event consumers.
        Parameters:
        defaultTimeLimiterConfig - a custom default TimeLimiter configuration.
        registryEventConsumers - a list of TimeLimiter registry event consumers.
        Returns:
        a TimeLimiterRegistry with a custom TimeLimiter configuration and list of TimeLimiter registry event consumers.
      • of

        static TimeLimiterRegistry of​(java.util.Map<java.lang.String,​TimeLimiterConfig> configs)
        Creates a TimeLimiterRegistry with a Map of shared TimeLimiter configurations.
        Parameters:
        configs - a Map of shared TimeLimiter configurations
        Returns:
        a TimeLimiterRegistry with a Map of shared TimeLimiter configurations.
      • of

        static TimeLimiterRegistry of​(java.util.Map<java.lang.String,​TimeLimiterConfig> configs,
                                      io.vavr.collection.Map<java.lang.String,​java.lang.String> tags)
        Creates a TimeLimiterRegistry with a Map of shared TimeLimiter configurations.

        Tags added to the registry will be added to every instance created by this registry.

        Parameters:
        configs - a Map of shared TimeLimiter configurations
        tags - default tags to add to the registry
        Returns:
        a TimeLimiterRegistry with a Map of shared TimeLimiter configurations.
      • of

        static TimeLimiterRegistry of​(java.util.Map<java.lang.String,​TimeLimiterConfig> configs,
                                      io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer)
        Creates a TimeLimiterRegistry with a Map of shared TimeLimiter configurations and a TimeLimiter registry event consumer.
        Parameters:
        configs - a Map of shared TimeLimiter configurations.
        registryEventConsumer - a TimeLimiter registry event consumer.
        Returns:
        a TimeLimiterRegistry with a Map of shared TimeLimiter configurations and a TimeLimiter registry event consumer.
      • of

        static TimeLimiterRegistry of​(java.util.Map<java.lang.String,​TimeLimiterConfig> configs,
                                      io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter> registryEventConsumer,
                                      io.vavr.collection.Map<java.lang.String,​java.lang.String> tags)
        Creates a TimeLimiterRegistry with a Map of shared TimeLimiter configurations and a TimeLimiter registry event consumer.
        Parameters:
        configs - a Map of shared TimeLimiter configurations.
        registryEventConsumer - a TimeLimiter registry event consumer.
        tags - default tags to add to the registry
        Returns:
        a TimeLimiterRegistry with a Map of shared TimeLimiter configurations and a TimeLimiter registry event consumer.
      • of

        static TimeLimiterRegistry of​(java.util.Map<java.lang.String,​TimeLimiterConfig> configs,
                                      java.util.List<io.github.resilience4j.core.registry.RegistryEventConsumer<TimeLimiter>> registryEventConsumers)
        Creates a TimeLimiterRegistry with a Map of shared TimeLimiter configurations and a list of TimeLimiter registry event consumers.
        Parameters:
        configs - a Map of shared TimeLimiter configurations.
        registryEventConsumers - a list of TimeLimiter registry event consumers.
        Returns:
        a TimeLimiterRegistry with a Map of shared TimeLimiter configurations and a list of TimeLimiter registry event consumers.
      • getAllTimeLimiters

        io.vavr.collection.Seq<TimeLimiter> getAllTimeLimiters()
        Returns all managed TimeLimiter instances.
        Returns:
        all managed TimeLimiter instances.
      • timeLimiter

        TimeLimiter timeLimiter​(java.lang.String name)
        Returns a managed TimeLimiter or creates a new one with the default TimeLimiter configuration.
        Parameters:
        name - the name of the TimeLimiter
        Returns:
        The TimeLimiter
      • timeLimiter

        TimeLimiter timeLimiter​(java.lang.String name,
                                io.vavr.collection.Map<java.lang.String,​java.lang.String> tags)
        Returns a managed TimeLimiter or creates a new one with the default TimeLimiter configuration.

        The tags passed will be appended to the tags already configured for the registry. When tags (keys) of the two collide the tags passed with this method will override the tags of the registry.

        Parameters:
        name - the name of the TimeLimiter
        tags - tags added to the TimeLimiter
        Returns:
        The TimeLimiter
      • timeLimiter

        TimeLimiter timeLimiter​(java.lang.String name,
                                TimeLimiterConfig timeLimiterConfig)
        Returns a managed TimeLimiter or creates a new one with a custom TimeLimiter configuration.
        Parameters:
        name - the name of the TimeLimiter
        timeLimiterConfig - a custom TimeLimiter configuration
        Returns:
        The TimeLimiter
      • timeLimiter

        TimeLimiter timeLimiter​(java.lang.String name,
                                TimeLimiterConfig timeLimiterConfig,
                                io.vavr.collection.Map<java.lang.String,​java.lang.String> tags)
        Returns a managed TimeLimiter or creates a new one with a custom TimeLimiter configuration.

        The tags passed will be appended to the tags already configured for the registry. When tags (keys) of the two collide the tags passed with this method will override the tags of the registry.

        Parameters:
        name - the name of the TimeLimiter
        timeLimiterConfig - a custom TimeLimiter configuration
        tags - tags added to the TimeLimiter
        Returns:
        The TimeLimiter
      • timeLimiter

        TimeLimiter timeLimiter​(java.lang.String name,
                                java.util.function.Supplier<TimeLimiterConfig> timeLimiterConfigSupplier)
        Returns a managed TimeLimiterConfig or creates a new one with a custom TimeLimiterConfig configuration.
        Parameters:
        name - the name of the TimeLimiterConfig
        timeLimiterConfigSupplier - a supplier of a custom TimeLimiterConfig configuration
        Returns:
        The TimeLimiterConfig
      • timeLimiter

        TimeLimiter timeLimiter​(java.lang.String name,
                                java.util.function.Supplier<TimeLimiterConfig> timeLimiterConfigSupplier,
                                io.vavr.collection.Map<java.lang.String,​java.lang.String> tags)
        Returns a managed TimeLimiter or creates a new one with a custom TimeLimiter configuration.

        The tags passed will be appended to the tags already configured for the registry. When tags (keys) of the two collide the tags passed with this method will override the tags of the registry.

        Parameters:
        name - the name of the TimeLimiter
        timeLimiterConfigSupplier - a supplier of a custom TimeLimiter configuration
        tags - tags added to the TimeLimiter
        Returns:
        The TimeLimiter
      • timeLimiter

        TimeLimiter timeLimiter​(java.lang.String name,
                                java.lang.String configName)
        Returns a managed TimeLimiter or creates a new one. The configuration must have been added upfront via Registry.addConfiguration(String, Object).
        Parameters:
        name - the name of the TimeLimiter
        configName - the name of the shared configuration
        Returns:
        The TimeLimiter
      • timeLimiter

        TimeLimiter timeLimiter​(java.lang.String name,
                                java.lang.String configName,
                                io.vavr.collection.Map<java.lang.String,​java.lang.String> tags)
        Returns a managed TimeLimiter or creates a new one. The configuration must have been added upfront via Registry.addConfiguration(String, Object).

        The tags passed will be appended to the tags already configured for the registry. When tags (keys) of the two collide the tags passed with this method will override the tags of the registry.

        Parameters:
        name - the name of the TimeLimiter
        configName - the name of the shared configuration
        tags - tags added to the TimeLimiter
        Returns:
        The TimeLimiter