[jboss-cvs] JBossCache/docs/JBossCache-UserGuide/en/modules ...
Manik Surtani
msurtani at jboss.com
Tue Jan 23 20:53:01 EST 2007
User: msurtani
Date: 07/01/23 20:53:00
Modified: docs/JBossCache-UserGuide/en/modules
eviction_policies.xml deployment.xml
configuration_reference.xml cache_loaders.xml
jmx_reference.xml
Log:
getting there with ch 9
Revision Changes Path
1.3 +6 -736 JBossCache/docs/JBossCache-UserGuide/en/modules/eviction_policies.xml
(In the diff below, changes in quantity of whitespace are not shown.)
Index: eviction_policies.xml
===================================================================
RCS file: /cvsroot/jboss/JBossCache/docs/JBossCache-UserGuide/en/modules/eviction_policies.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- eviction_policies.xml 22 Jan 2007 22:50:09 -0000 1.2
+++ eviction_policies.xml 24 Jan 2007 01:53:00 -0000 1.3
@@ -1,10 +1,11 @@
<chapter id="eviction_policies">
<title>Eviction Policies</title>
- <para>Eviction policies specify the living behavior of a node residing inside the
- cache, e.g., life time and maximum numbers allowed.
- Memory constraints on servers mean cache cannot grow indefinitely, so policies
- need to be in place to restrict the size of the cache in memory.
+ <para>
+ Eviction policies control JBoss Cache's memory management by managing how many nodes are allowed to be stored in
+ memory and their life spans. Memory constraints on servers mean cache cannot grow indefinitely, so policies
+ need to be in place to restrict the size of the cache. Eviction policies are most often used alongside
+ <link linkend="cache_loaders">cache loaders</link>.
</para>
<section>
@@ -60,234 +61,6 @@
</mediaobject>
</figure>
- <programlisting>
- <![CDATA[
- public interface EvictionPolicy
- {
- /**
- * Evict a node form the underlying cache.
- *
- * @param fqn DataNode corresponds to this fqn.
- * @throws Exception
- */
- void evict(Fqn fqn) throws Exception;
-
- /**
- * Return children names as Objects
- *
- * @param fqn
- * @return Child names under given fqn
- */
- Set getChildrenNames(Fqn fqn);
-
- /**
- * Is this a leaf node?
- *
- * @param fqn
- * @return true/false if leaf node.
- */
- boolean hasChild(Fqn fqn);
-
- Object getCacheData(Fqn fqn, Object key);
-
- /**
- * Method called to configure this implementation.
- */
- void configure(TreeCache cache);
-
- /**
- * Get the associated EvictionAlgorithm used by the EvictionPolicy.
- * <p/>
- * This relationship should be 1-1.
- *
- * @return An EvictionAlgorithm implementation.
- */
- EvictionAlgorithm getEvictionAlgorithm();
-
- /**
- * The EvictionConfiguration implementation class used by this EvictionPolicy.
- *
- * @return EvictionConfiguration implementation class.
- */
- Class getEvictionConfigurationClass();
-
- /**
- * This method will be invoked prior to an event being processed for a node
- * with the specified Fqn.
- *
- <p>
- * This method provides a way to optimize the performance of eviction by
- * signalling that the node associated with the specified Fqn should not be
- * subject to normal eviction processing. It can also be used to filter
- * out certain {@link NodeEventType event types} in which the particular
- * eviction algorithm has no interest.
- *
- </p>
- *
- <p>
- * If this method returns false then the event is processed normally
- * and eviction processing for the node continues. As a result, the event
- * will be added to the {@link Region eviction region's} event queue where
- * at some later point the particular algorithm of the eviction policy
- * can use it to decide whether to call {@link #evict(Fqn)}.
- *
- </p>
- *
- <p>
- * If this method returns true, then the event is ignored and will not factor
- * in any subsequent eviction processing.
- *
- </p>
- *
- * @param fqn The Fqn of the node associated with the event.
- * @param eventType the type of the event
- *
- * @return
- <code>true</code>
- to ignore events of this type for this Fqn,
- *
- <code>false</code>
- to process events normally.
- */
- boolean canIgnoreEvent(Fqn fqn, NodeEventType eventType);
-
- }
- ]]>
- </programlisting>
-
- <programlisting>
- <![CDATA[
- public interface EvictionAlgorithm
- {
- /**
- * Entry point for evictin algorithm. This is an api called by the EvictionTimerTask
- * to process the node events in waiting and actual pruning, if necessary.
- *
- * @param region Region that this algorithm will operate on.
- */
- void process(Region region) throws EvictionException;
-
- /**
- * Reset the whole eviction queue. Queue may needs to be reset due to corrupted state, for example.
- *
- * @param region Region that this algorithm will operate on.
- */
- void resetEvictionQueue(Region region);
-
- /**
- * Get the EvictionQueue implementation used by this algorithm.
- *
- * @return the EvictionQueue implementation.
- */
- EvictionQueue getEvictionQueue();
-
- }
- ]]>
- </programlisting>
-
- <programlisting>
- <![CDATA[
- public interface EvictionQueue
- {
- /**
- * Get the first entry in the queue.
- * <p/>
- * If there are no entries in queue, this method will return null.
- * <p/>
- * The first node returned is expected to be the first node to evict.
- *
- * @return first NodeEntry in queue.
- */
- public NodeEntry getFirstNodeEntry();
-
- /**
- * Retrieve a node entry by Fqn.
- * <p/>
- * This will return null if the entry is not found.
- *
- * @param fqn Fqn of the node entry to retrieve.
- * @return Node Entry object associated with given Fqn param.
- */
- public NodeEntry getNodeEntry(Fqn fqn);
-
- public NodeEntry getNodeEntry(String fqn);
-
- /**
- * Check if queue contains the given NodeEntry.
- *
- * @param entry NodeEntry to check for existence in queue.
- * @return true/false if NodeEntry exists in queue.
- */
- public boolean containsNodeEntry(NodeEntry entry);
-
- /**
- * Remove a NodeEntry from queue.
- * <p/>
- * If the NodeEntry does not exist in the queue, this method will return normally.
- *
- * @param entry The NodeEntry to remove from queue.
- */
- public void removeNodeEntry(NodeEntry entry);
-
- /**
- * Add a NodeEntry to the queue.
- *
- * @param entry The NodeEntry to add to queue.
- */
- public void addNodeEntry(NodeEntry entry);
-
- /**
- * Get the size of the queue.
- *
- * @return The number of items in the queue.
- */
- public int size();
-
- /**
- * Clear the queue.
- */
- public void clear();
-
- }
- ]]>
- </programlisting>
-
- <programlisting>
- <![CDATA[
- public interface EvictionConfiguration
- {
- public static final int WAKEUP_DEFAULT = 5;
-
- public static final String ATTR = "attribute";
- public static final String NAME = "name";
-
- public static final String REGION = "region";
- public static final String WAKEUP_INTERVAL_SECONDS = "wakeUpIntervalSeconds";
- public static final String MAX_NODES = "maxNodes";
- public static final String TIME_TO_IDLE_SECONDS = "timeToIdleSeconds";
- public static final String TIME_TO_LIVE_SECONDS = "timeToLiveSeconds";
- public static final String MAX_AGE_SECONDS = "maxAgeSeconds";
- public static final String MIN_NODES = "minNodes";
- public static final String REGION_POLICY_CLASS = "policyClass";
-
- /**
- * Parse the XML configuration for the given specific eviction region.
- * <p/>
- * The element parameter should contain the entire region block. An example
- * of an entire Element of the region would be:
- * <p/>
- * <region name="abc">
- * <attribute name="maxNodes">10</attribute>
- * </region>
- *
- * @param element DOM element for the region. <region name="abc"></region>
- * @throws ConfigureException
- */
- public void parseXMLConfig(Element element) throws ConfigureException;
- }
- ]]>
- </programlisting>
-
<para>
<emphasis>Note that:</emphasis>
</para>
@@ -320,431 +93,7 @@
policy provider classes
</para>
- <programlisting>
- <![CDATA[
- public abstract class BaseEvictionPolicy implements EvictionPolicy
- {
- protected static final Fqn ROOT = new Fqn("/");
-
- protected TreeCache cache_;
-
- public BaseEvictionPolicy()
- {
- }
-
- /** EvictionPolicy interface implementation */
-
- /**
- * Evict the node under given Fqn from cache.
- *
- * @param fqn The fqn of a node in cache.
- * @throws Exception
- */
- public void evict(Fqn fqn) throws Exception
- {
- cache_.evict(fqn);
- }
-
- /**
- * Return a set of child names under a given Fqn.
- *
- * @param fqn Get child names for given Fqn in cache.
- * @return Set of children name as Objects
- */
- public Set getChildrenNames(Fqn fqn)
- {
- try
- {
- return cache_.getChildrenNames(fqn);
- }
- catch (CacheException e)
- {
- e.printStackTrace();
- }
- return null;
- }
-
- public boolean hasChild(Fqn fqn)
- {
- return cache_.hasChild(fqn);
- }
-
- public Object getCacheData(Fqn fqn, Object key)
- {
- try
- {
- return cache_.get(fqn, key);
- }
- catch (CacheException e)
- {
- e.printStackTrace();
- }
- return null;
- }
-
- public void configure(TreeCache cache)
- {
- this.cache_ = cache;
- }
-
- public boolean canIgnoreEvent(Fqn fqn, NodeEventType eventType) {
- return false;
- }
-
- }
- ]]>
- </programlisting>
-
- <programlisting>
- <![CDATA[
- public abstract class BaseEvictionAlgorithm implements EvictionAlgorithm
- {
- private static final Log log = LogFactory.getLog(BaseEvictionAlgorithm.class);
-
- protected Region region;
- protected BoundedBuffer recycleQueue;
- protected EvictionQueue evictionQueue;
-
- /**
- * This method will create an EvictionQueue implementation and prepare it for use.
- *
- * @param region Region to setup an eviction queue for.
- * @return The created EvictionQueue to be used as the eviction queue for this algorithm.
- * @throws EvictionException
- * @see EvictionQueue
- */
- protected abstract EvictionQueue setupEvictionQueue(Region region) throws EvictionException;
-
- /**
- * This method will check whether the given node should be evicted or not.
- *
- * @param ne NodeEntry to test eviction for.
- * @return True if the given node should be evicted. False if the given node should not be evicted.
- */
- protected abstract boolean shouldEvictNode(NodeEntry ne);
-
- protected BaseEvictionAlgorithm()
- {
- recycleQueue = new BoundedBuffer();
- }
-
- protected void initialize(Region region) throws EvictionException
- {
- this.region = region;
- evictionQueue = setupEvictionQueue(region);
- }
-
- /**
- * Process the given region.
- * <p/>
- * Eviction Processing encompasses the following:
- * <p/>
- * - Add/Remove/Visit Nodes
- * - Prune according to Eviction Algorithm
- * - Empty/Retry the recycle queue of previously evicted but locked (during actual cache eviction) nodes.
- *
- * @param region Cache region to process for eviction.
- * @throws EvictionException
- */
- public void process(Region region) throws EvictionException
- {
- if (this.region == null)
- {
- this.initialize(region);
- }
-
- this.processQueues(region);
- this.emptyRecycleQueue();
- this.prune();
- }
-
- public void resetEvictionQueue(Region region)
- {
- }
-
- /**
- * Get the underlying EvictionQueue implementation.
- *
- * @return the EvictionQueue used by this algorithm
- * @see EvictionQueue
- */
- public EvictionQueue getEvictionQueue()
- {
- return this.evictionQueue;
- }
-
- /**
- * Event processing for Evict/Add/Visiting of nodes.
- * <p/>
- * - On AddEvents a new element is added into the eviction queue
- * - On RemoveEvents, the removed element is removed from the eviction queue.
- * - On VisitEvents, the visited node has its eviction statistics updated (idleTime, numberOfNodeVisists, etc..)
- *
- * @param region Cache region to process for eviction.
- * @throws EvictionException
- */
- protected void processQueues(Region region) throws EvictionException
- {
- EvictedEventNode node;
- int count = 0;
- while ((node = region.takeLastEventNode()) != null)
- {
- int eventType = node.getEvent();
- Fqn fqn = node.getFqn();
-
- count++;
- switch (eventType)
- {
- case EvictedEventNode.ADD_EVENT:
- this.processAddedNodes(fqn);
- break;
- case EvictedEventNode.REMOVE_EVENT:
- this.processRemovedNodes(fqn);
- break;
- case EvictedEventNode.VISIT_EVENT:
- this.processVisitedNodes(fqn);
- break;
- default:
- throw new RuntimeException("Illegal Eviction Event type " + eventType);
- }
- }
-
- if (log.isTraceEnabled())
- {
- log.trace("processed " + count + " node events");
- }
-
- }
-
- protected void evict(NodeEntry ne)
- {
- // NodeEntry ne = evictionQueue.getNodeEntry(fqn);
- if (ne != null)
- {
- evictionQueue.removeNodeEntry(ne);
- if (!this.evictCacheNode(ne.getFqn()))
- {
- try
- {
- recycleQueue.put(ne);
- }
- catch (InterruptedException e)
- {
- e.printStackTrace();
- }
- }
- }
- }
- /**
- * Evict a node from cache.
- *
- * @param fqn node corresponds to this fqn
- * @return True if successful
- */
- protected boolean evictCacheNode(Fqn fqn)
- {
- if (log.isTraceEnabled())
- {
- log.trace("Attempting to evict cache node with fqn of " + fqn);
- }
- EvictionPolicy policy = region.getEvictionPolicy();
- // Do an eviction of this node
-
- try
- {
- policy.evict(fqn);
- }
- catch (Exception e)
- {
- if (e instanceof TimeoutException)
- {
- log.warn("eviction of " + fqn + " timed out. Will retry later.");
- return false;
- }
- e.printStackTrace();
- return false;
- }
-
- if (log.isTraceEnabled())
- {
- log.trace("Eviction of cache node with fqn of " + fqn + " successful");
- }
-
- return true;
- }
-
- /**
- * Process an Added cache node.
- *
- * @param fqn FQN of the added node.
- * @throws EvictionException
- */
- protected void processAddedNodes(Fqn fqn) throws EvictionException
- {
- if (log.isTraceEnabled())
- {
- log.trace("Adding node " + fqn + " to eviction queue");
- }
-
- long stamp = System.currentTimeMillis();
- NodeEntry ne = new NodeEntry(fqn);
- ne.setModifiedTimeStamp(stamp);
- ne.setNumberOfNodeVisits(1);
- // add it to the node map and eviction queue
- if (evictionQueue.containsNodeEntry(ne))
- {
- if (log.isTraceEnabled())
- {
- log.trace("Queue already contains " + ne.getFqn() + " processing it as visited");
- }
- this.processVisitedNodes(ne.getFqn());
- return;
- }
-
- evictionQueue.addNodeEntry(ne);
-
- if (log.isTraceEnabled())
- {
- log.trace(ne.getFqn() + " added successfully to eviction queue");
- }
- }
-
- /**
- * Remove a node from cache.
- * <p/>
- * This method will remove the node from the eviction queue as well as
- * evict the node from cache.
- * <p/>
- * If a node cannot be removed from cache, this method will remove it from the eviction queue
- * and place the element into the recycleQueue. Each node in the recycle queue will get retried until
- * proper cache eviction has taken place.
- * <p/>
- * Because EvictionQueues are collections, when iterating them from an iterator, use iterator.remove()
- * to avoid ConcurrentModificationExceptions. Use the boolean parameter to indicate the calling context.
- *
- * @param fqn FQN of the removed node
- * @throws EvictionException
- */
- protected void processRemovedNodes(Fqn fqn) throws EvictionException
- {
- if (log.isTraceEnabled())
- {
- log.trace("Removing node " + fqn + " from eviction queue and attempting eviction");
- }
-
- NodeEntry ne = evictionQueue.getNodeEntry(fqn);
- if (ne != null)
- {
- evictionQueue.removeNodeEntry(ne);
- }
-
- if (log.isTraceEnabled())
- {
- log.trace(fqn + " removed from eviction queue");
- }
- }
-
- /**
- * Visit a node in cache.
- * <p/>
- * This method will update the numVisits and modifiedTimestamp properties of the Node.
- * These properties are used as statistics to determine eviction (LRU, LFU, MRU, etc..)
- * <p/>
- * *Note* that this method updates Node Entries by reference and does not put them back
- * into the queue. For some sorted collections, a remove, and a re-add is required to
- * maintain the sorted order of the elements.
- *
- * @param fqn FQN of the visited node.
- * @throws EvictionException
- */
- protected void processVisitedNodes(Fqn fqn) throws EvictionException
- {
- NodeEntry ne = evictionQueue.getNodeEntry(fqn);
- if (ne == null)
- {
- this.processAddedNodes(fqn);
- return;
- }
- // note this method will visit and modify the node statistics by reference!
- // if a collection is only guaranteed sort order by adding to the collection,
- // this implementation will not guarantee sort order.
- ne.setNumberOfNodeVisits(ne.getNumberOfNodeVisits() + 1);
- ne.setModifiedTimeStamp(System.currentTimeMillis());
- }
-
- /**
- * Empty the Recycle Queue.
- * <p/>
- * This method will go through the recycle queue and retry to evict the nodes from cache.
- *
- * @throws EvictionException
- */
- protected void emptyRecycleQueue() throws EvictionException
- {
- while (true)
- {
- Fqn fqn;
-
- try
- {
- fqn = (Fqn) recycleQueue.poll(0);
- }
- catch (InterruptedException e)
- {
- e.printStackTrace();
- break;
- }
-
- if (fqn == null)
- {
- if (log.isTraceEnabled())
- {
- log.trace("Recycle queue is empty");
- }
- break;
- }
-
- if (log.isTraceEnabled())
- {
- log.trace("emptying recycle bin. Evict node " + fqn);
- }
-
- // Still doesn't work
- if (!evictCacheNode(fqn))
- {
- try
- {
- recycleQueue.put(fqn);
- }
- catch (InterruptedException e)
- {
- e.printStackTrace();
- }
- break;
- }
- }
- }
-
- protected void prune() throws EvictionException
- {
- NodeEntry entry;
- while ((entry = evictionQueue.getFirstNodeEntry()) != null)
- {
- if (this.shouldEvictNode(entry))
- {
- this.evict(entry);
- }
- else
- {
- break;
- }
- }
- }
-
- }
- ]]>
- </programlisting>
<para>
<emphasis>Note that:</emphasis>
@@ -764,86 +113,7 @@
</listitem>
</itemizedlist>
- <programlisting>
- <![CDATA[
- public abstract class BaseSortedEvictionAlgorithm extends BaseEvictionAlgorithm implements EvictionAlgorithm
- {
- private static final Log log = LogFactory.getLog(BaseSortedEvictionAlgorithm.class);
-
- public void process(Region region) throws EvictionException
- {
- super.process(region);
- }
-
- protected void processQueues(Region region) throws EvictionException
- {
- boolean evictionNodesModified = false;
-
- EvictedEventNode node;
- int count = 0;
- while ((node = region.takeLastEventNode()) != null)
- {
- int eventType = node.getEvent();
- Fqn fqn = node.getFqn();
-
- count++;
- switch (eventType)
- {
- case EvictedEventNode.ADD_EVENT:
- this.processAddedNodes(fqn);
- evictionNodesModified = true;
- break;
- case EvictedEventNode.REMOVE_EVENT:
- this.processRemovedNodes(fqn);
- break;
- case EvictedEventNode.VISIT_EVENT:
- this.processVisitedNodes(fqn);
- evictionNodesModified = true;
- break;
- default:
- throw new RuntimeException("Illegal Eviction Event type " + eventType);
- }
- }
- if (log.isTraceEnabled())
- {
- log.trace("Eviction nodes visited or added requires resort of queue " + evictionNodesModified);
- }
-
- this.resortEvictionQueue(evictionNodesModified);
-
-
- if (log.isTraceEnabled())
- {
- log.trace("processed " + count + " node events");
- }
-
- }
-
- /**
- * This method is called to resort the queue after add or visit events have occurred.
- * <p/>
- * If the parameter is true, the queue needs to be resorted. If it is false, the queue does not
- * need resorting.
- *
- * @param evictionQueueModified True if the queue was added to or visisted during event processing.
- */
- protected void resortEvictionQueue(boolean evictionQueueModified)
- {
- long begin = System.currentTimeMillis();
- ((SortedEvictionQueue) evictionQueue).resortEvictionQueue();
- long end = System.currentTimeMillis();
-
- if (log.isTraceEnabled())
- {
- long diff = end - begin;
- log.trace("Took " + diff + "ms to sort queue with " + getEvictionQueue().size() + " elements");
- }
- }
-
- }
- ]]>
- </programlisting>
<para>
<emphasis>Note that:</emphasis>
1.3 +5 -5 JBossCache/docs/JBossCache-UserGuide/en/modules/deployment.xml
(In the diff below, changes in quantity of whitespace are not shown.)
Index: deployment.xml
===================================================================
RCS file: /cvsroot/jboss/JBossCache/docs/JBossCache-UserGuide/en/modules/deployment.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- deployment.xml 23 Jan 2007 15:23:23 -0000 1.2
+++ deployment.xml 24 Jan 2007 01:53:00 -0000 1.3
@@ -63,17 +63,17 @@
<attribute
name="InvokerName">jboss:service=invoker,type=jrmp</attribute>
<attribute
- name="TargetName">jboss.cache:service=TreeCache</attribute>
+ name="TargetName">jboss.cache:service=Cache</attribute>
<attribute name="JndiName">MyCache</attribute> <attribute
name="InvokeTargetMethod">true</attribute> <attribute
- name="ExportedInterface">org.jboss.cache.TreeCacheMBean</attribute>
+ name="ExportedInterface">org.jboss.cache.jmx.CacheJmxWrapperMBean</attribute>
<attribute name="ClientInterceptors"> <iterceptors>
<interceptor>org.jboss.proxy.ClientMethodInterceptor</interceptor>
<interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
<interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
</iterceptors> </attribute>
<depends>jboss:service=invoker,type=jrmp</depends>
- <depends>jboss.cache:service=TreeCache</depends>
+ <depends>jboss.cache:service=Cache</depends>
</mbean>
]]>
</programlisting>
@@ -122,7 +122,7 @@
MBeans are used to capture and expose statistics related to cache operations. They are hierarchically
associated with the cache's primary MBean and have service names that reflect this relationship. For
example, a replication interceptor MBean for the <literal>TomcatClusteringCache</literal> instance will be
- accessible through the service named <literal>jboss.cache:service=TomcatClusteringCache,treecache-interceptor=ReplicationInterceptor</literal>.
+ accessible through the service named <literal>jboss.cache:service=TomcatClusteringCache,cache-interceptor=ReplicationInterceptor</literal>.
</para>
</section>
@@ -189,7 +189,7 @@
// get reference to CacheMgmtInterceptor MBean
String cache_service = "jboss.cache:service=TomcatClusteringCache";
- String mgmt_service = cache_service + ",treecache-interceptor=CacheMgmtInterceptor";
+ String mgmt_service = cache_service + ",cache-interceptor=CacheMgmtInterceptor";
ObjectName mgmt_name = new ObjectName(mgmt_service);
// configure a filter to only receive node created and removed events
1.3 +1 -1 JBossCache/docs/JBossCache-UserGuide/en/modules/configuration_reference.xml
(In the diff below, changes in quantity of whitespace are not shown.)
Index: configuration_reference.xml
===================================================================
RCS file: /cvsroot/jboss/JBossCache/docs/JBossCache-UserGuide/en/modules/configuration_reference.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- configuration_reference.xml 23 Jan 2007 03:04:03 -0000 1.2
+++ configuration_reference.xml 24 Jan 2007 01:53:00 -0000 1.3
@@ -245,7 +245,7 @@
</entry>
<entry>
- <para>The name of the JGroups stack to be used with the TreeCache cluster.
+ <para>The name of the JGroups stack to be used with the cache cluster.
Stacks are defined in the configuration of the external
<literal>MultiplexerService</literal>
discussed above. In JBoss AS 5 this is normally done in the
1.6 +2 -2 JBossCache/docs/JBossCache-UserGuide/en/modules/cache_loaders.xml
(In the diff below, changes in quantity of whitespace are not shown.)
Index: cache_loaders.xml
===================================================================
RCS file: /cvsroot/jboss/JBossCache/docs/JBossCache-UserGuide/en/modules/cache_loaders.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- cache_loaders.xml 24 Jan 2007 01:41:11 -0000 1.5
+++ cache_loaders.xml 24 Jan 2007 01:53:00 -0000 1.6
@@ -427,7 +427,7 @@
<para>
<literal>LocalDelegatingCacheLoader</literal>
, which enables
- loading from and storing to another local (same JVM) TreeCache.
+ loading from and storing to another local (same JVM) cache.
</para>
</listitem>
<listitem>
@@ -837,7 +837,7 @@
<title>Cache Passivation</title>
<para>A CacheLoader can be used to enforce node passivation and
- activation on eviction in a TreeCache.
+ activation on eviction in a cache.
</para>
<para>
1.2 +1 -1 JBossCache/docs/JBossCache-UserGuide/en/modules/jmx_reference.xml
(In the diff below, changes in quantity of whitespace are not shown.)
Index: jmx_reference.xml
===================================================================
RCS file: /cvsroot/jboss/JBossCache/docs/JBossCache-UserGuide/en/modules/jmx_reference.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- jmx_reference.xml 22 Jan 2007 22:50:09 -0000 1.1
+++ jmx_reference.xml 24 Jan 2007 01:53:00 -0000 1.2
@@ -176,7 +176,7 @@
<row>
<entry>Notification Type</entry>
<entry>Notification Data</entry>
- <entry>TreeCacheListener Event</entry>
+ <entry>CacheListener Event</entry>
</row>
</thead>
<tbody>
More information about the jboss-cvs-commits
mailing list