Class Configuration


  • public final class Configuration
    extends java.lang.Object
    A bean, used by BeanUtils, to set configuration from an XML configuration file.
    Version:
    $Id$
    Author:
    Greg Luck
    • Field Detail

      • DEFAULT_DYNAMIC_CONFIG

        public static final boolean DEFAULT_DYNAMIC_CONFIG
        Default value for dynamicConfig
        See Also:
        Constant Field Values
      • DEFAULT_TRANSACTION_TIMEOUT

        public static final int DEFAULT_TRANSACTION_TIMEOUT
        Default value for defaultTransactionTimeoutInSeconds
        See Also:
        Constant Field Values
      • DEFAULT_MAX_BYTES_OFF_HEAP

        public static final long DEFAULT_MAX_BYTES_OFF_HEAP
        Default value for maxBytesLocalOffHeap when not explicitly set
        See Also:
        Constant Field Values
      • DEFAULT_MAX_BYTES_ON_DISK

        public static final long DEFAULT_MAX_BYTES_ON_DISK
        Default value for maxBytesLocalDisk when not explicitly set
        See Also:
        Constant Field Values
      • DEFAULT_SIZEOF_POLICY_CONFIGURATION

        public static final SizeOfPolicyConfiguration DEFAULT_SIZEOF_POLICY_CONFIGURATION
        Default sizeOfPolicy configuration
      • DEFAULT_TRANSACTION_MANAGER_LOOKUP_CONFIG

        public static final FactoryConfiguration DEFAULT_TRANSACTION_MANAGER_LOOKUP_CONFIG
        Default transactionManagerLookupConfiguration
    • Constructor Detail

      • Configuration

        public Configuration()
        Empty constructor, which is used by ConfigurationFactory, and can be also used programmatically.

        If you are using it programmtically you need to call the relevant add and setter methods in this class to populate everything.

    • Method Detail

      • validate

        public java.util.Collection<ConfigError> validate()
        Validates the current configuration
        Returns:
        the list of errors withing that configuration
      • isMaxBytesLocalDiskSet

        public boolean isMaxBytesLocalDiskSet()
        Checks whether the user explicitly set the maxBytesOnDisk
        Returns:
        true if set by user, false otherwise
        See Also:
        setMaxBytesLocalDisk(Long)
      • isMaxBytesLocalOffHeapSet

        public boolean isMaxBytesLocalOffHeapSet()
        Checks whether the user explicitly set the maxBytesOffHeat
        Returns:
        true if set by user, false otherwise
        See Also:
        setMaxBytesLocalOffHeap(Long)
      • isMaxBytesLocalHeapSet

        @Deprecated
        public boolean isMaxBytesLocalHeapSet()
        Deprecated.
        Checks whether the user explicitly set the maxBytesOnHeap
        Returns:
        true if set by user, false otherwise
        See Also:
        setMaxBytesLocalHeap(Long)
      • name

        public final Configuration name​(java.lang.String name)
        Builder to set the cache manager name.

        Cache manager names have constraints on the characters they can use:

        • cache managers that are registered as MBeans must obey the ObjectName rules for unquoted value. This means the following characters are illegal: ',', '=', ':', '"', '*' and '?'.
        Note that a clustered cache manager is by default registered as MBean.
        Parameters:
        name - the name to set
        Returns:
        this configuration instance
        See Also:
        setName(String)
      • setName

        public final void setName​(java.lang.String name)
        Allows BeanHandler to set the CacheManager name.

        Cache manager names have constraints on the characters they can use:

        • cache managers that are registered as MBeans must obey the ObjectName rules for unquoted value. This means the following characters are illegal: ',', '=', ':', '"', '*' and '?'.
        Note that a clustered cache manager is by default registered as MBean.
      • getName

        public final java.lang.String getName()
        CacheManager name
      • updateCheck

        @Deprecated
        public final Configuration updateCheck​(boolean updateCheck)
        Deprecated.
        Builder to set the state of the automated update check.
        Parameters:
        updateCheck - true if the update check should be turned on; or false otherwise
        Returns:
        this configuration instance
      • setUpdateCheck

        @Deprecated
        public final void setUpdateCheck​(boolean updateCheck)
        Deprecated.
        Allows BeanHandler to set the updateCheck flag.
      • getUpdateCheck

        @Deprecated
        public final boolean getUpdateCheck()
        Deprecated.
        Get flag for updateCheck
      • defaultTransactionTimeoutInSeconds

        public final Configuration defaultTransactionTimeoutInSeconds​(int defaultTransactionTimeoutInSeconds)
        Builder to set the default transaction timeout.
        Parameters:
        defaultTransactionTimeoutInSeconds - the default transaction timeout in seconds
        Returns:
        this configuration instance
      • setDefaultTransactionTimeoutInSeconds

        public final void setDefaultTransactionTimeoutInSeconds​(int defaultTransactionTimeoutInSeconds)
        Allows BeanHandler to set the default transaction timeout.
      • getDefaultTransactionTimeoutInSeconds

        public final int getDefaultTransactionTimeoutInSeconds()
        Get default transaction timeout
        Returns:
        default transaction timeout in seconds
      • setMonitoring

        public final void setMonitoring​(java.lang.String monitoring)
        Allows BeanHandler to set the monitoring flag
      • dynamicConfig

        public final Configuration dynamicConfig​(boolean dynamicConfig)
        Builder to set the dynamic config capability
        Parameters:
        dynamicConfig - true if dynamic config should be enabled; or false otherwise.
        Returns:
        this configuration instance
      • setDynamicConfig

        public final void setDynamicConfig​(boolean dynamicConfig)
        Allows BeanHandler to set the dynamic configuration flag
      • getDynamicConfig

        public final boolean getDynamicConfig()
        Get flag for dynamicConfig
      • getMaxBytesLocalHeap

        @Deprecated
        public long getMaxBytesLocalHeap()
        Deprecated.
        Maximum amount of bytes the CacheManager will use on the heap
        Returns:
        amount of bytes, 0 is unbound
      • setMaxBytesLocalHeap

        @Deprecated
        public void setMaxBytesLocalHeap​(java.lang.String maxBytesOnHeap)
        Deprecated.
        Sets maximum amount of bytes the CacheManager will use on the Disk Tier.
        Parameters:
        maxBytesOnHeap - String representation of the size.
        See Also:
        MemoryUnit.parseSizeInBytes(String)
      • getMaxBytesLocalHeapAsString

        @Deprecated
        public java.lang.String getMaxBytesLocalHeapAsString()
        Deprecated.
        Returns:
        Original input for maxBytesLocalHeap
      • setMaxBytesLocalHeap

        @Deprecated
        public void setMaxBytesLocalHeap​(java.lang.Long maxBytesOnHeap)
        Deprecated.
        Sets the maximum amount of bytes the cache manager being configured will use on the OnHeap tier
        Parameters:
        maxBytesOnHeap - amount of bytes
      • getMaxBytesLocalOffHeap

        public long getMaxBytesLocalOffHeap()
        Maximum amount of bytes the CacheManager will use on the OffHeap Tier.
        Returns:
        amount in bytes
      • setMaxBytesLocalOffHeap

        public void setMaxBytesLocalOffHeap​(java.lang.String maxBytesOffHeap)
        Sets maximum amount of bytes the CacheManager will use on the OffHeap Tier.
        Parameters:
        maxBytesOffHeap - String representation of the size.
        See Also:
        MemoryUnit.parseSizeInBytes(String)
      • getMaxBytesLocalOffHeapAsString

        public java.lang.String getMaxBytesLocalOffHeapAsString()
        Returns:
        Original input for maxBytesLocalOffHeap
      • getTotalConfiguredOffheap

        public long getTotalConfiguredOffheap()
        Returns:
        Total amount offheap configured by current caches
      • setMaxBytesLocalOffHeap

        public void setMaxBytesLocalOffHeap​(java.lang.Long maxBytesOffHeap)
        Sets maximum amount of bytes the CacheManager will use on the OffHeap Tier.
        Parameters:
        maxBytesOffHeap - max bytes on disk in bytes. Needs be be greater than 0
      • maxBytesLocalOffHeap

        public Configuration maxBytesLocalOffHeap​(long amount,
                                                  MemoryUnit memoryUnit)
        Sets the maximum size for the OffHeap tier for all the caches this CacheManagers holds.
        Parameters:
        amount - the amount of unit
        memoryUnit - the actual unit
        Returns:
        this
      • getMaxBytesLocalDisk

        public long getMaxBytesLocalDisk()
        Maximum amount of bytes the CacheManager will use on the Disk Tier.
        Returns:
        amount in bytes
      • setMaxBytesLocalDisk

        public void setMaxBytesLocalDisk​(java.lang.String maxBytesOnDisk)
        Sets maximum amount of bytes the CacheManager will use on the Disk Tier.
        Parameters:
        maxBytesOnDisk - String representation of the size.
        See Also:
        MemoryUnit.parseSizeInBytes(String)
      • getMaxBytesLocalDiskAsString

        public java.lang.String getMaxBytesLocalDiskAsString()
        Returns:
        Original input for maxBytesLocalDisk
      • setMaxBytesLocalDisk

        public void setMaxBytesLocalDisk​(java.lang.Long maxBytesOnDisk)
        Sets maximum amount of bytes the CacheManager will use on the Disk Tier.
        Parameters:
        maxBytesOnDisk - max bytes on disk in bytes. Needs be be greater than 0
      • maxBytesLocalDisk

        public Configuration maxBytesLocalDisk​(long amount,
                                               MemoryUnit memoryUnit)
        Sets the maxOnDisk size
        Parameters:
        amount - the amount of unit
        memoryUnit - the actual unit
        Returns:
        this
        See Also:
        setMaxBytesLocalDisk(Long)
      • diskStore

        public final Configuration diskStore​(DiskStoreConfiguration diskStoreConfigurationParameter)
                                      throws ObjectExistsException
        Builder to add a disk store to the cache manager, only one disk store can be added.
        Parameters:
        diskStoreConfigurationParameter - the disk store configuration to use
        Returns:
        this configuration instance
        Throws:
        ObjectExistsException - if the disk store has already been configured
      • sizeOfPolicy

        public final Configuration sizeOfPolicy​(SizeOfPolicyConfiguration sizeOfPolicyConfiguration)
        Builder to set the default SizeOfPolicyConfiguration for this cache manager.
        Parameters:
        sizeOfPolicyConfiguration - the SizeOfPolicy Configuration
        Returns:
        this configuration instance
      • addSizeOfPolicy

        public final void addSizeOfPolicy​(SizeOfPolicyConfiguration sizeOfPolicy)
        Sets the default SizeOfPolicyConfiguration for this cache manager.
        Parameters:
        sizeOfPolicy - the SizeOfPolicy Configuration
      • transactionManagerLookup

        public final Configuration transactionManagerLookup​(FactoryConfiguration transactionManagerLookupParameter)
                                                     throws ObjectExistsException
        Builder to add a transaction manager lookup class to the cache manager, only one of these can be added.
        Parameters:
        transactionManagerLookupParameter - the transaction manager lookup class to use
        Returns:
        this configuration instance
        Throws:
        ObjectExistsException - if the transaction manager lookup has already been configured
      • cacheManagerEventListenerFactory

        public final Configuration cacheManagerEventListenerFactory​(FactoryConfiguration cacheManagerEventListenerFactoryConfiguration)
        Builder to set the event lister through a factory, only one of these can be added and subsequent calls are ignored.
        Returns:
        this configuration instance
      • addCacheManagerEventListenerFactory

        public final void addCacheManagerEventListenerFactory​(FactoryConfiguration cacheManagerEventListenerFactoryConfiguration)
        Allows BeanHandler to add the CacheManagerEventListener to the configuration.
      • cacheManagerPeerProviderFactory

        public final Configuration cacheManagerPeerProviderFactory​(FactoryConfiguration factory)
        Builder method to add a peer provider through a factory.
        Returns:
        this configuration instance
      • addCacheManagerPeerProviderFactory

        public final void addCacheManagerPeerProviderFactory​(FactoryConfiguration factory)
        Adds a CacheManagerPeerProvider through FactoryConfiguration.
      • cacheManagerPeerListenerFactory

        public final Configuration cacheManagerPeerListenerFactory​(FactoryConfiguration factory)
        Builder method to add a peer listener through a factory.
        Returns:
        this configuration instance
      • addCacheManagerPeerListenerFactory

        public final void addCacheManagerPeerListenerFactory​(FactoryConfiguration factory)
        Adds a CacheManagerPeerListener through FactoryConfiguration.
      • getCacheConfigurationsKeySet

        public final java.util.Set<java.lang.String> getCacheConfigurationsKeySet()
        Gets a Map of cacheConfigurations.
      • getDefaultCacheConfiguration

        public final CacheConfiguration getDefaultCacheConfiguration()
        Returns:
        the configuration's default cache configuration
      • setDefaultCacheConfiguration

        public final void setDefaultCacheConfiguration​(CacheConfiguration defaultCacheConfiguration)
        Parameters:
        defaultCacheConfiguration -
      • getDiskStoreConfiguration

        public final DiskStoreConfiguration getDiskStoreConfiguration()
        Gets the disk store configuration.
      • getSizeOfPolicyConfiguration

        public final SizeOfPolicyConfiguration getSizeOfPolicyConfiguration()
        Gets the SizeOf policy configuration.
      • getTransactionManagerLookupConfiguration

        public final FactoryConfiguration getTransactionManagerLookupConfiguration()
        Gets the transaction manager lookup configuration.
      • getCacheManagerPeerProviderFactoryConfiguration

        public final java.util.List<FactoryConfiguration> getCacheManagerPeerProviderFactoryConfiguration()
        Gets the CacheManagerPeerProvider factory configuration.
      • getCacheManagerPeerListenerFactoryConfigurations

        public final java.util.List<FactoryConfiguration> getCacheManagerPeerListenerFactoryConfigurations()
        Gets the CacheManagerPeerListener factory configuration.
      • getCacheManagerEventListenerFactoryConfiguration

        public final FactoryConfiguration getCacheManagerEventListenerFactoryConfiguration()
        Gets the CacheManagerEventListener factory configuration.
      • getCacheConfigurations

        public final java.util.Map<java.lang.String,​CacheConfiguration> getCacheConfigurations()
        Gets a Map of cache configurations, keyed by name.
      • source

        public final Configuration source​(ConfigurationSource configurationSource)
        Builder to set the configuration source.
        Returns:
        this configuration instance
      • setSource

        public final void setSource​(ConfigurationSource configurationSource)
        Sets the configuration source.
        Parameters:
        configurationSource - an informative description of the source, preferably including the resource name and location.
      • getConfigurationSource

        public final ConfigurationSource getConfigurationSource()
        Gets a description of the source from which this configuration was created.
      • addPropertyChangeListener

        public boolean addPropertyChangeListener​(java.beans.PropertyChangeListener listener)
        Adds a PropertyChangeListener for this configuration
        Parameters:
        listener - the listener instance
        Returns:
        true if added, false otherwise
      • removePropertyChangeListener

        public boolean removePropertyChangeListener​(java.beans.PropertyChangeListener listener)
        Removes a PropertyChangeListener for this configuration
        Parameters:
        listener - the listener to be removed
        Returns:
        true if removed, false otherwise
      • getClassLoader

        public java.lang.ClassLoader getClassLoader()
      • setClassLoader

        public void setClassLoader​(java.lang.ClassLoader loader)
        Set the classloader for the cache manager (and it's associated caches) to use when creating application objects (eg. cache values, event listeners, etc). The default classloading behavior is to prefer Thread.currentThread().getContextClassLoader() and fallback to the classloader that loaded ehcache itself.
        Parameters:
        loader - the classloader to use
      • cleanup

        public void cleanup()