[jboss-cvs] JBossCache/src/org/jboss/cache/config ...

Brian Stansberry brian.stansberry at jboss.com
Fri Oct 27 15:26:07 EDT 2006


  User: bstansberry
  Date: 06/10/27 15:26:07

  Modified:    src/org/jboss/cache/config   EvictionRegionConfig.java
                        EvictionConfig.java
  Log:
  [JBCACHE-823] Refactor eviction configuration away from EvictionConfiguration interface
  
  Revision  Changes    Path
  1.2       +48 -28    JBossCache/src/org/jboss/cache/config/EvictionRegionConfig.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: EvictionRegionConfig.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/config/EvictionRegionConfig.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- EvictionRegionConfig.java	25 Oct 2006 04:50:20 -0000	1.1
  +++ EvictionRegionConfig.java	27 Oct 2006 19:26:07 -0000	1.2
  @@ -21,48 +21,47 @@
    */
   package org.jboss.cache.config;
   
  +import org.apache.commons.logging.LogFactory;
   import org.jboss.cache.Fqn;
  -import org.jboss.cache.eviction.EvictionConfiguration;
  +import org.jboss.cache.eviction.EvictionPolicyConfig;
   
   public class EvictionRegionConfig extends ConfigurationComponent
   {
      /** The serialVersionUID */
  -   private static final long serialVersionUID = 8384302335667342493L;
  +   private static final long serialVersionUID = -5482474634995601400L;
  +   
  +   public static final String NAME = "name";
  +   public static final String REGION = "region";
  +   public static final String REGION_POLICY_CLASS = "policyClass";
  +   public static final String EVENT_QUEUE_SIZE = "eventQueueSize";
      
      private Fqn regionFqn;
  -   private String evictionPolicyClass;
  -   private EvictionConfiguration evictionConfiguration;
  +   @Dynamic
  +   private Integer eventQueueSize;
  +   private EvictionPolicyConfig evictionPolicyConfig;
      
      public EvictionRegionConfig() {}
      
  -   public EvictionConfiguration getEvictionConfiguration()
  +   public EvictionPolicyConfig getEvictionPolicyConfig()
      {
  -      return evictionConfiguration;
  +      return evictionPolicyConfig;
      }
      
  -   public void setEvictionConfiguration(EvictionConfiguration config)
  +   public void setEvictionPolicyConfig(EvictionPolicyConfig config)
      {
  -      testImmutability("evictionConfiguration");
  -      if (this.evictionConfiguration instanceof ConfigurationComponent)
  +      testImmutability("evictionPolicyConfig");
  +      if (this.evictionPolicyConfig instanceof ConfigurationComponent)
         {
  -         removeChildConfig((ConfigurationComponent) this.evictionConfiguration);
  +         removeChildConfig((ConfigurationComponent) this.evictionPolicyConfig);
         }
         if (config instanceof ConfigurationComponent)
         {
  -         addChildConfig((ConfigurationComponent) this.evictionConfiguration);
  -      }
  -      this.evictionConfiguration = config;
  +         addChildConfig((ConfigurationComponent) config);
      }
  +      if (config != null)
  +         config.validate();
      
  -   public String getEvictionPolicyClass()
  -   {
  -      return evictionPolicyClass;
  -   }
  -   
  -   public void setEvictionPolicyClass(String evictionPolicyClass)
  -   {
  -      testImmutability("evictionPolicyClass");
  -      this.evictionPolicyClass = evictionPolicyClass;
  +      this.evictionPolicyConfig = config;
      }
      
      public Fqn getRegionFqn()
  @@ -85,6 +84,31 @@
         setRegionFqn(name == null ? null : Fqn.fromString(name));
      }
   
  +   public int getEventQueueSize()
  +   {
  +      return eventQueueSize == null ? EvictionConfig.EVENT_QUEUE_SIZE_DEFAULT : eventQueueSize.intValue();
  +   }
  +
  +   public void setEventQueueSize(int queueSize)
  +   {
  +      testImmutability("eventQueueSize");
  +      if (queueSize <= 0)
  +      {
  +         LogFactory.getLog(EvictionRegionConfig.class).warn("Ignoring invalid queue capacity " + 
  +                                                            queueSize + " -- using " + 
  +                                                            EvictionConfig.EVENT_QUEUE_SIZE_DEFAULT);
  +         queueSize = EvictionConfig.EVENT_QUEUE_SIZE_DEFAULT;
  +      }
  +      this.eventQueueSize = new Integer(queueSize);
  +   }
  +   
  +   public void setDefaultEventQueueSize(int queueSize)
  +   {
  +      if (eventQueueSize == null)
  +         setEventQueueSize(queueSize);
  +   }
  +   
  +
      @Override
      public boolean equals(Object obj)
      {
  @@ -94,9 +118,7 @@
         if (obj instanceof EvictionRegionConfig)
         {
            EvictionRegionConfig other = (EvictionRegionConfig) obj;
  -         return EvictionConfig.safeEquals(this.regionFqn, other.regionFqn)
  -                  && EvictionConfig.safeEquals(this.evictionPolicyClass, other.evictionPolicyClass)
  -                  && EvictionConfig.safeEquals(this.evictionConfiguration, other.evictionConfiguration);
  +         return safeEquals(this.regionFqn, other.regionFqn);
         }
         return false;
      }
  @@ -106,8 +128,6 @@
      {
         int result = 17;
         result = 31 * result + (regionFqn == null ? 0 : regionFqn.hashCode());
  -      result = 31 * result + (evictionPolicyClass == null ? 0 : evictionPolicyClass.hashCode());
  -      result = 31 * result + (evictionConfiguration == null ? 0 : evictionConfiguration.hashCode());
         
         return result;
      }
  
  
  
  1.4       +18 -15    JBossCache/src/org/jboss/cache/config/EvictionConfig.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: EvictionConfig.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/config/EvictionConfig.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -b -r1.3 -r1.4
  --- EvictionConfig.java	25 Oct 2006 04:50:20 -0000	1.3
  +++ EvictionConfig.java	27 Oct 2006 19:26:07 -0000	1.4
  @@ -24,16 +24,23 @@
   import java.util.Iterator;
   import java.util.List;
   
  -import org.jboss.cache.eviction.EvictionConfiguration;
  -
   public class EvictionConfig extends ConfigurationComponent
   {
      /** The serialVersionUID */
      private static final long serialVersionUID = -7979639000026975201L;
      
  +   public static final String WAKEUP_INTERVAL_SECONDS = "wakeUpIntervalSeconds";
  +   public static final int WAKEUP_DEFAULT = 5;
  +   public static final String EVENT_QUEUE_SIZE = "eventQueueSize";
  +   public static final String EVICTION_POLICY_CLASS = "policyClass";
  +   public static final int EVENT_QUEUE_SIZE_DEFAULT = 200000;
  +   
      private String defaultEvictionPolicyClass;
  -   private int wakeupIntervalSeconds = EvictionConfiguration.WAKEUP_DEFAULT;
  -   private int eventQueueSize = EvictionConfiguration.EVENT_QUEUE_SIZE_DEFAULT; // defaults to the 'old' hard-coded value of 200000
  +   private int wakeupIntervalSeconds = WAKEUP_DEFAULT;
  +   private int defaultEventQueueSize = EVENT_QUEUE_SIZE_DEFAULT;
  +   
  +   // Dynamic to support runtime adds/removes of regions
  +   @Dynamic
      private List evictionRegionConfigs;
      
      public EvictionConfig() {}
  @@ -66,31 +73,27 @@
      }
   
   
  -   public int getEventQueueSize()
  +   public int getDefaultEventQueueSize()
      {
  -      return eventQueueSize;
  +      return defaultEventQueueSize;
      }
   
  -   public void setEventQueueSize(int eventQueueSize)
  +   public void setDefaultEventQueueSize(int eventQueueSize)
      {
  -      this.eventQueueSize = eventQueueSize;
  +      this.defaultEventQueueSize = eventQueueSize;
      }
   
      public void setEvictionRegionConfigs(List evictionRegionConfigs)
      {
         testImmutability("evictionRegionConfigs");
         
  -      // Make sure region configs built by MC have a policy class
  -      if (evictionRegionConfigs != null && this.defaultEvictionPolicyClass != null)
  +      // Make sure region configs built by MC have the event queue size
  +      if (evictionRegionConfigs != null)
         {
            for (Iterator it = evictionRegionConfigs.iterator(); it.hasNext();)
            {
               EvictionRegionConfig cfg = (EvictionRegionConfig) it.next();
  -            if (cfg.getEvictionPolicyClass() == null 
  -                  || cfg.getEvictionPolicyClass().length() == 0)
  -            {
  -               cfg.setEvictionPolicyClass(this.defaultEvictionPolicyClass);
  -            }
  +            cfg.setDefaultEventQueueSize(getDefaultEventQueueSize());
            }
         }
         replaceChildConfigs(this.evictionRegionConfigs, evictionRegionConfigs);
  
  
  



More information about the jboss-cvs-commits mailing list