Interface LocalConfigurationStorage

All Known Implementing Classes:
ImmutableLocalConfigurationStorage, OverlayLocalConfigurationStorage, VolatileLocalConfigurationStorage

public interface LocalConfigurationStorage
The LocalConfigurationStorage is responsible for applying on each node the configuration changes initiated through the GlobalConfigurationManager and persist them unless they are CacheContainerAdmin.AdminFlag.VOLATILE.
Since:
9.2
Author:
Tristan Tarrant
  • Method Details

    • initialize

      void initialize(EmbeddedCacheManager embeddedCacheManager, ConfigurationManager configurationManager, BlockingManager blockingManager)
      Initialization entry point for the LocalConfigurationStorage
      Parameters:
      embeddedCacheManager -
      configurationManager -
      blockingManager - handler to use when a blocking operation is required
    • validateFlags

      void validateFlags(EnumSet<org.infinispan.commons.api.CacheContainerAdmin.AdminFlag> flags)
      Checks whether this LocalConfigurationStorage supports the supplied flags. A CacheConfigurationException will be thrown in case this cannot be done.
    • createCache

      CompletionStage<Void> createCache(String name, String template, Configuration configuration, EnumSet<org.infinispan.commons.api.CacheContainerAdmin.AdminFlag> flags)
      Creates the cache using the supplied template, configuration and flags. This method may be invoked either with or without a template. In both cases a concrete configuration will also be available. If a template name is present, the LocalConfigurationStorage should use it, e.g. when persisting the configuration.
      Parameters:
      name - the name of the cache to create
      template - the template that should be used to configure the cache. Can be null.
      configuration - the Configuration to use
      flags - the desired CacheContainerAdmin.AdminFlags
    • createTemplate

      CompletionStage<Void> createTemplate(String name, Configuration configuration, EnumSet<org.infinispan.commons.api.CacheContainerAdmin.AdminFlag> flags)
      Creates the template using the supplied configuration and flags.
      Parameters:
      name - the name of the template to create
      configuration - the Configuration to use
      flags - the desired CacheContainerAdmin.AdminFlags
    • updateConfiguration

      CompletionStage<Void> updateConfiguration(String name, Configuration configuration, EnumSet<org.infinispan.commons.api.CacheContainerAdmin.AdminFlag> flags)
      Updates an existing configuration. Only the attributes that are mutable and that have been modified in the supplied configuration will be applied.
      Parameters:
      name - the name of the configuration (cache/template)
      configuration - the configuration changes to apply
      flags - the desired CacheContainerAdmin.AdminFlags
    • validateConfigurationUpdate

      CompletionStage<Void> validateConfigurationUpdate(String name, Configuration configuration, EnumSet<org.infinispan.commons.api.CacheContainerAdmin.AdminFlag> flags)
      Validates an update to an existing configuration.
      Parameters:
      name - the name of the configuration (cache/template)
      configuration - the configuration changes to apply
      flags - the desired CacheContainerAdmin.AdminFlags
    • removeCache

      CompletionStage<Void> removeCache(String name, EnumSet<org.infinispan.commons.api.CacheContainerAdmin.AdminFlag> flags)
      Removes the specified cache.
      Parameters:
      name - the name of the cache to remove
      flags - the desired CacheContainerAdmin.AdminFlags
    • removeTemplate

      CompletionStage<Void> removeTemplate(String name, EnumSet<org.infinispan.commons.api.CacheContainerAdmin.AdminFlag> flags)
      Removes the specified template.
      Parameters:
      name - the name of the template to remove
      flags - the desired CacheContainerAdmin.AdminFlags
    • loadAll

      @Deprecated(forRemoval=true, since="12.0") default Map<String,Configuration> loadAll()
      Deprecated, for removal: This API element is subject to removal in a future version.
      since 12.0, use loadAllCaches() instead
      Loads all persisted cache configurations
    • loadAllCaches

      Map<String,Configuration> loadAllCaches()
      Loads all persisted cache configurations
    • loadAllTemplates

      Map<String,Configuration> loadAllTemplates()
      Loads all persisted templates