[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