[jboss-cvs] JBossAS SVN: r78763 - projects/docs/enterprise/4.3/Cache/Cache_Tree_Cache_Guide/pt-BR.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Sep 22 19:27:04 EDT 2008


Author: ldelima at redhat.com
Date: 2008-09-22 19:27:04 -0400 (Mon, 22 Sep 2008)
New Revision: 78763

Modified:
   projects/docs/enterprise/4.3/Cache/Cache_Tree_Cache_Guide/pt-BR/Eviction_policies.po
Log:
proofread in progress

Modified: projects/docs/enterprise/4.3/Cache/Cache_Tree_Cache_Guide/pt-BR/Eviction_policies.po
===================================================================
--- projects/docs/enterprise/4.3/Cache/Cache_Tree_Cache_Guide/pt-BR/Eviction_policies.po	2008-09-22 23:23:54 UTC (rev 78762)
+++ projects/docs/enterprise/4.3/Cache/Cache_Tree_Cache_Guide/pt-BR/Eviction_policies.po	2008-09-22 23:27:04 UTC (rev 78763)
@@ -9,7 +9,7 @@
 "Project-Id-Version: Eviction_policies\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
 "POT-Creation-Date: 2008-09-21 04:44+0000\n"
-"PO-Revision-Date: 2008-09-23 09:23+1000\n"
+"PO-Revision-Date: 2008-09-23 09:26+1000\n"
 "Last-Translator: Leticia de Lima <ldelima at redhat.com>\n"
 "Language-Team: Brazilian Portuguese <en at li.org>\n"
 "MIME-Version: 1.0\n"
@@ -429,6 +429,40 @@
 "   public void parseXMLConfig(Element element) throws ConfigureException;\n"
 "}"
 msgstr ""
+"public interface EvictionConfiguration\n"
+"{\n"
+"   public static final int WAKEUP_DEFAULT = 5;\n"
+"\n"
+"   public static final String ATTR = \"attribute\";\n"
+"   public static final String NAME = \"name\";\n"
+"\n"
+"   public static final String REGION = \"region\";\n"
+"   public static final String WAKEUP_INTERVAL_SECONDS = "
+"\"wakeUpIntervalSeconds\";\n"
+"   public static final String MAX_NODES = \"maxNodes\";\n"
+"   public static final String TIME_TO_IDLE_SECONDS = \"timeToIdleSeconds\";\n"
+"   public static final String TIME_TO_LIVE_SECONDS = \"timeToLiveSeconds\";\n"
+"   public static final String MAX_AGE_SECONDS = \"maxAgeSeconds\";\n"
+"   public static final String MIN_NODES = \"minNodes\";\n"
+"   public static final String REGION_POLICY_CLASS = \"policyClass\";\n"
+"\n"
+"   /**\n"
+"    * Parse the XML configuration for the given specific eviction region.\n"
+"    * &lt;p/&gt;\n"
+"    * The element parameter should contain the entire region block. An "
+"example\n"
+"    * of an entire Element of the region would be:\n"
+"    * &lt;p/&gt;\n"
+"    * &lt;region name=\"abc\"&gt;\n"
+"    * &lt;attribute name=\"maxNodes\"&gt;10&lt;/attribute&gt;\n"
+"    * &lt;/region&gt;\n"
+"    *\n"
+"    * @param element DOM element for the region. &lt;region name=\"abc\"&gt;"
+"&lt;/region&gt;\n"
+"    * @throws ConfigureException\n"
+"    */\n"
+"   public void parseXMLConfig(Element element) throws ConfigureException;\n"
+"}"
 
 #. Tag: emphasis
 #: Eviction_policies.xml:33 Eviction_policies.xml:55 Eviction_policies.xml:66
@@ -539,6 +573,72 @@
 "\n"
 "}"
 msgstr ""
+"public abstract class BaseEvictionPolicy implements EvictionPolicy\n"
+"{\n"
+"   protected static final Fqn ROOT = new Fqn(\"/\");\n"
+"\n"
+"   protected TreeCache cache_;\n"
+"\n"
+"   public BaseEvictionPolicy()\n"
+"   {\n"
+"   }\n"
+"\n"
+"   /** EvictionPolicy interface implementation */\n"
+"\n"
+"   /**\n"
+"    * Evict the node under given Fqn from cache.\n"
+"    *\n"
+"    * @param fqn The fqn of a node in cache.\n"
+"    * @throws Exception\n"
+"    */\n"
+"   public void evict(Fqn fqn) throws Exception\n"
+"   {\n"
+"      cache_.evict(fqn);\n"
+"   }\n"
+"\n"
+"   /**\n"
+"    * Return a set of child names under a given Fqn.\n"
+"    *\n"
+"    * @param fqn Get child names for given Fqn in cache.\n"
+"    * @return Set of children name as Objects\n"
+"    */\n"
+"   public Set getChildrenNames(Fqn fqn)\n"
+"   {\n"
+"      try\n"
+"      {\n"
+"         return cache_.getChildrenNames(fqn);\n"
+"      }\n"
+"      catch (CacheException e)\n"
+"      {\n"
+"         e.printStackTrace();\n"
+"      }\n"
+"      return null;\n"
+"   }\n"
+"\n"
+"   public boolean hasChild(Fqn fqn)\n"
+"   {\n"
+"      return cache_.hasChild(fqn);\n"
+"   }\n"
+"\n"
+"   public Object getCacheData(Fqn fqn, Object key)\n"
+"   {\n"
+"      try\n"
+"      {\n"
+"         return cache_.get(fqn, key);\n"
+"      }\n"
+"      catch (CacheException e)\n"
+"      {\n"
+"         e.printStackTrace();\n"
+"      }\n"
+"      return null;\n"
+"   }\n"
+"\n"
+"   public void configure(TreeCache cache)\n"
+"   {\n"
+"      this.cache_ = cache;\n"
+"   }\n"
+"\n"
+"}"
 
 #. Tag: programlisting
 #: Eviction_policies.xml:53
@@ -922,6 +1022,383 @@
 "\n"
 "}"
 msgstr ""
+"public abstract class BaseEvictionAlgorithm implements EvictionAlgorithm\n"
+"{\n"
+"   private static final Log log = LogFactory.getLog(BaseEvictionAlgorithm."
+"class);\n"
+"\n"
+"   protected Region region;\n"
+"   protected BoundedBuffer recycleQueue;\n"
+"   protected EvictionQueue evictionQueue;\n"
+"\n"
+"   /**\n"
+"    * This method will create an EvictionQueue implementation and prepare it "
+"for use.\n"
+"    *\n"
+"    * @param region Region to setup an eviction queue for.\n"
+"    * @return The created EvictionQueue to be used as the eviction queue for "
+"this algorithm.\n"
+"    * @throws EvictionException\n"
+"    * @see EvictionQueue\n"
+"    */\n"
+"   protected abstract EvictionQueue setupEvictionQueue(Region region) throws "
+"EvictionException;\n"
+"\n"
+"   /**\n"
+"    * This method will check whether the given node should be evicted or "
+"not.\n"
+"    *\n"
+"    * @param ne NodeEntry to test eviction for.\n"
+"    * @return True if the given node should be evicted. False if the given "
+"node should not \n"
+"    * be evicted.\n"
+"    */\n"
+"   protected abstract boolean shouldEvictNode(NodeEntry ne);\n"
+"\n"
+"   protected BaseEvictionAlgorithm()\n"
+"   {\n"
+"      recycleQueue = new BoundedBuffer();\n"
+"   }\n"
+"\n"
+"   protected void initialize(Region region) throws EvictionException\n"
+"   {\n"
+"      this.region = region;\n"
+"      evictionQueue = setupEvictionQueue(region);\n"
+"   }\n"
+"\n"
+"   /**\n"
+"    * Process the given region.\n"
+"    * &lt;p/&gt;\n"
+"    * Eviction Processing encompasses the following:\n"
+"    * &lt;p/&gt;\n"
+"    * - Add/Remove/Visit Nodes\n"
+"    * - Prune according to Eviction Algorithm\n"
+"    * - Empty/Retry the recycle queue of previously evicted but locked "
+"(during actual \n"
+"    * cache eviction) \n"
+"    *nodes.\n"
+"    *\n"
+"    * @param region Cache region to process for eviction.\n"
+"    * @throws EvictionException\n"
+"    */\n"
+"   public void process(Region region) throws EvictionException\n"
+"   {\n"
+"      if (this.region == null)\n"
+"      {\n"
+"         this.initialize(region);\n"
+"      }\n"
+"\n"
+"      this.processQueues(region);\n"
+"      this.emptyRecycleQueue();\n"
+"      this.prune();\n"
+"   }\n"
+"\n"
+"   public void resetEvictionQueue(Region region)\n"
+"   {\n"
+"   }\n"
+"\n"
+"   /**\n"
+"    * Get the underlying EvictionQueue implementation.\n"
+"    *\n"
+"    * @return the EvictionQueue used by this algorithm\n"
+"    * @see EvictionQueue\n"
+"    */\n"
+"   public EvictionQueue getEvictionQueue()\n"
+"   {\n"
+"      return this.evictionQueue;\n"
+"   }\n"
+"\n"
+"   /**\n"
+"    * Event processing for Evict/Add/Visiting of nodes.\n"
+"    * &lt;p/&gt;\n"
+"    * - On AddEvents a new element is added into the eviction queue\n"
+"    * - On RemoveEvents, the removed element is removed from the eviction "
+"queue.\n"
+"    * - On VisitEvents, the visited node has its eviction statistics updated "
+"(idleTime, \n"
+"    * numberOfNodeVisists, etc..)\n"
+"    *\n"
+"    * @param region Cache region to process for eviction.\n"
+"    * @throws EvictionException\n"
+"    */\n"
+"   protected void processQueues(Region region) throws EvictionException\n"
+"   {\n"
+"      EvictedEventNode node;\n"
+"      int count = 0;\n"
+"      while ((node = region.takeLastEventNode()) != null)\n"
+"      {\n"
+"         int eventType = node.getEvent();\n"
+"         Fqn fqn = node.getFqn();\n"
+"\n"
+"         count++;\n"
+"         switch (eventType)\n"
+"         {\n"
+"            case EvictedEventNode.ADD_EVENT:\n"
+"               this.processAddedNodes(fqn);\n"
+"               break;\n"
+"            case EvictedEventNode.REMOVE_EVENT:\n"
+"               this.processRemovedNodes(fqn);\n"
+"               break;\n"
+"            case EvictedEventNode.VISIT_EVENT:\n"
+"               this.processVisitedNodes(fqn);\n"
+"               break;\n"
+"            default:\n"
+"               throw new RuntimeException(\"Illegal Eviction Event type \" + "
+"eventType);\n"
+"         }\n"
+"      }\n"
+"\n"
+"      if (log.isTraceEnabled())\n"
+"      {\n"
+"         log.trace(\"processed \" + count + \" node events\");\n"
+"      }\n"
+"\n"
+"   }\n"
+"\n"
+"   protected void evict(NodeEntry ne)\n"
+"   {\n"
+"//      NodeEntry ne = evictionQueue.getNodeEntry(fqn);\n"
+"      if (ne != null)\n"
+"      {\n"
+"         evictionQueue.removeNodeEntry(ne);\n"
+"         if (!this.evictCacheNode(ne.getFqn()))\n"
+"         {\n"
+"            try\n"
+"            {\n"
+"               recycleQueue.put(ne);\n"
+"            }\n"
+"            catch (InterruptedException e)\n"
+"            {\n"
+"               e.printStackTrace();\n"
+"            }\n"
+"         }\n"
+"      }\n"
+"   }\n"
+"\n"
+"   /**\n"
+"    * Evict a node from cache.\n"
+"    *\n"
+"    * @param fqn node corresponds to this fqn\n"
+"    * @return True if successful\n"
+"    */\n"
+"   protected boolean evictCacheNode(Fqn fqn)\n"
+"   {\n"
+"      if (log.isTraceEnabled())\n"
+"      {\n"
+"         log.trace(\"Attempting to evict cache node with fqn of \" + fqn);\n"
+"      }\n"
+"      EvictionPolicy policy = region.getEvictionPolicy();\n"
+"      // Do an eviction of this node\n"
+"\n"
+"      try\n"
+"      {\n"
+"         policy.evict(fqn);\n"
+"      }\n"
+"      catch (Exception e)\n"
+"      {\n"
+"         if (e instanceof TimeoutException)\n"
+"         {\n"
+"            log.warn(\"eviction of \" + fqn + \" timed out. Will retry later."
+"\");\n"
+"            return false;\n"
+"         }\n"
+"         e.printStackTrace();\n"
+"         return false;\n"
+"      }\n"
+"\n"
+"      if (log.isTraceEnabled())\n"
+"      {\n"
+"         log.trace(\"Eviction of cache node with fqn of \" + fqn + \" "
+"successful\");\n"
+"      }\n"
+"\n"
+"      return true;\n"
+"   }\n"
+"\n"
+"   /**\n"
+"    * Process an Added cache node.\n"
+"    *\n"
+"    * @param fqn FQN of the added node.\n"
+"    * @throws EvictionException\n"
+"    */\n"
+"   protected void processAddedNodes(Fqn fqn) throws EvictionException\n"
+"   {\n"
+"      if (log.isTraceEnabled())\n"
+"      {\n"
+"         log.trace(\"Adding node \" + fqn + \" to eviction queue\");\n"
+"      }\n"
+"\n"
+"      long stamp = System.currentTimeMillis();\n"
+"      NodeEntry ne = new NodeEntry(fqn);\n"
+"      ne.setModifiedTimeStamp(stamp);\n"
+"      ne.setNumberOfNodeVisits(1);\n"
+"      // add it to the node map and eviction queue\n"
+"      if (evictionQueue.containsNodeEntry(ne))\n"
+"      {\n"
+"         if (log.isTraceEnabled())\n"
+"         {\n"
+"            log.trace(\"Queue already contains \" + ne.getFqn() + \" "
+"processing it as visited\");\n"
+"         }\n"
+"         this.processVisitedNodes(ne.getFqn());\n"
+"         return;\n"
+"      }\n"
+"\n"
+"      evictionQueue.addNodeEntry(ne);\n"
+"\n"
+"      if (log.isTraceEnabled())\n"
+"      {\n"
+"         log.trace(ne.getFqn() + \" added successfully to eviction queue"
+"\");\n"
+"      }\n"
+"   }\n"
+"\n"
+"   /**\n"
+"    * Remove a node from cache.\n"
+"    * \n"
+"    * This method will remove the node from the eviction queue as well as\n"
+"    * evict the node from cache.\n"
+"    * \n"
+"    * If a node cannot be removed from cache, this method will remove it "
+"from the\n"
+"    * eviction queue and place the element into the recycleQueue. Each node "
+"in the recycle \n"
+"    * queue will get retried until proper cache eviction has taken place.\n"
+"    * \n"
+"    * Because EvictionQueues are collections, when iterating them from an "
+"iterator, use \n"
+"    * iterator.remove() to avoid ConcurrentModificationExceptions. Use the "
+"boolean \n"
+"    * parameter to indicate the calling context.\n"
+"    *\n"
+"    * @param fqn FQN of the removed node\n"
+"    * @throws EvictionException\n"
+"    */\n"
+"   protected void processRemovedNodes(Fqn fqn) throws EvictionException\n"
+"   {\n"
+"      if (log.isTraceEnabled())\n"
+"      {\n"
+"         log.trace(\"Removing node \" + fqn + \" from eviction queue and "
+"attempting eviction\");\n"
+"      }\n"
+"\n"
+"      NodeEntry ne = evictionQueue.getNodeEntry(fqn);\n"
+"      if (ne != null)\n"
+"      {\n"
+"         evictionQueue.removeNodeEntry(ne);\n"
+"      }\n"
+"\n"
+"      if (log.isTraceEnabled())\n"
+"      {\n"
+"         log.trace(fqn + \" removed from eviction queue\");\n"
+"      }\n"
+"   }\n"
+"\n"
+"   /**\n"
+"    * Visit a node in cache.\n"
+"    * &lt;p/&gt;\n"
+"    * This method will update the numVisits and modifiedTimestamp properties "
+"of the Node.\n"
+"    * These properties are used as statistics to determine eviction (LRU, "
+"LFU, MRU, etc..)\n"
+"    * &lt;p/&gt;\n"
+"    * *Note* that this method updates Node Entries by reference and does not "
+"put them back\n"
+"    * into the queue. For some sorted collections, a remove, and a re-add is "
+"required to\n"
+"    * maintain the sorted order of the elements.\n"
+"    *\n"
+"    * @param fqn FQN of the visited node.\n"
+"    * @throws EvictionException\n"
+"    */\n"
+"   protected void processVisitedNodes(Fqn fqn) throws EvictionException\n"
+"   {\n"
+"      NodeEntry ne = evictionQueue.getNodeEntry(fqn);\n"
+"      if (ne == null)\n"
+"      {\n"
+"         this.processAddedNodes(fqn);\n"
+"         return;\n"
+"      }\n"
+"      // note this method will visit and modify the node statistics by "
+"reference!\n"
+"      // if a collection is only guaranteed sort order by adding to the "
+"collection,\n"
+"      // this implementation will not guarantee sort order.\n"
+"      ne.setNumberOfNodeVisits(ne.getNumberOfNodeVisits() + 1);\n"
+"      ne.setModifiedTimeStamp(System.currentTimeMillis());\n"
+"   }\n"
+"\n"
+"   /**\n"
+"    * Empty the Recycle Queue.\n"
+"    * &lt;p/&gt;\n"
+"    * This method will go through the recycle queue and retry to evict the "
+"nodes from cache.\n"
+"    *\n"
+"    * @throws EvictionException\n"
+"    */\n"
+"   protected void emptyRecycleQueue() throws EvictionException\n"
+"   {\n"
+"      while (true)\n"
+"      {\n"
+"         Fqn fqn;\n"
+"\n"
+"         try\n"
+"         {\n"
+"            fqn = (Fqn) recycleQueue.poll(0);\n"
+"         }\n"
+"         catch (InterruptedException e)\n"
+"         {\n"
+"            e.printStackTrace();\n"
+"            break;\n"
+"         }\n"
+"\n"
+"         if (fqn == null)\n"
+"         {\n"
+"            if (log.isTraceEnabled())\n"
+"            {\n"
+"               log.trace(\"Recycle queue is empty\");\n"
+"            }\n"
+"            break;\n"
+"         }\n"
+"\n"
+"         if (log.isTraceEnabled())\n"
+"         {\n"
+"            log.trace(\"emptying recycle bin. Evict node \" + fqn);\n"
+"         }\n"
+"\n"
+"         // Still doesn't work\n"
+"         if (!evictCacheNode(fqn))\n"
+"         {\n"
+"            try\n"
+"            {\n"
+"               recycleQueue.put(fqn);\n"
+"            }\n"
+"            catch (InterruptedException e)\n"
+"            {\n"
+"               e.printStackTrace();\n"
+"            }\n"
+"            break;\n"
+"         }\n"
+"      }\n"
+"   }\n"
+"\n"
+"   protected void prune() throws EvictionException\n"
+"   {\n"
+"      NodeEntry entry;\n"
+"      while ((entry = evictionQueue.getFirstNodeEntry()) != null)\n"
+"      {\n"
+"         if (this.shouldEvictNode(entry))\n"
+"         {\n"
+"            this.evict(entry);\n"
+"         }\n"
+"         else\n"
+"         {\n"
+"            break;\n"
+"         }\n"
+"      }\n"
+"   }\n"
+"\n"
+"}"
 
 #. Tag: para
 #: Eviction_policies.xml:59
@@ -1029,6 +1506,94 @@
 "\n"
 "   }"
 msgstr ""
+"public abstract class BaseSortedEvictionAlgorithm extends "
+"BaseEvictionAlgorithm \n"
+"   implements EvictionAlgorithm\n"
+"   {\n"
+"      private static final Log log = LogFactory.getLog"
+"(BaseSortedEvictionAlgorithm.class);\n"
+"\n"
+"      public void process(Region region) throws EvictionException\n"
+"      {\n"
+"         super.process(region);\n"
+"      }\n"
+"\n"
+"      protected void processQueues(Region region) throws EvictionException\n"
+"      {\n"
+"         boolean evictionNodesModified = false;\n"
+"\n"
+"         EvictedEventNode node;\n"
+"         int count = 0;\n"
+"         while ((node = region.takeLastEventNode()) != null)\n"
+"         {\n"
+"            int eventType = node.getEvent();\n"
+"            Fqn fqn = node.getFqn();\n"
+"\n"
+"            count++;\n"
+"            switch (eventType)\n"
+"            {\n"
+"               case EvictedEventNode.ADD_EVENT:\n"
+"                  this.processAddedNodes(fqn);\n"
+"                  evictionNodesModified = true;\n"
+"                  break;\n"
+"               case EvictedEventNode.REMOVE_EVENT:\n"
+"                  this.processRemovedNodes(fqn);\n"
+"                  break;\n"
+"               case EvictedEventNode.VISIT_EVENT:\n"
+"                  this.processVisitedNodes(fqn);\n"
+"                  evictionNodesModified = true;\n"
+"                  break;\n"
+"               default:\n"
+"                  throw new RuntimeException(\"Illegal Eviction Event type "
+"\" + eventType);\n"
+"            }\n"
+"         }\n"
+"\n"
+"         if (log.isTraceEnabled())\n"
+"         {\n"
+"            log.trace(\"Eviction nodes visited or added requires resort of "
+"queue \" +\n"
+"            evictionNodesModified);\n"
+"         }\n"
+"\n"
+"         this.resortEvictionQueue(evictionNodesModified);\n"
+"\n"
+"\n"
+"         if (log.isTraceEnabled())\n"
+"         {\n"
+"            log.trace(\"processed \" + count + \" node events\");\n"
+"         }\n"
+"\n"
+"      }\n"
+"\n"
+"      /**\n"
+"       * This method is called to resort the queue after add or visit events "
+"have occurred.\n"
+"       * \n"
+"       * If the parameter is true, the queue needs to be resorted. If it is "
+"false, the queue \n"
+"       * does not need resorting.\n"
+"       *\n"
+"       * @param evictionQueueModified True if the queue was added to or "
+"visisted during event \n"
+"       * processing.\n"
+"       */\n"
+"      protected void resortEvictionQueue(boolean evictionQueueModified)\n"
+"      {\n"
+"         long begin = System.currentTimeMillis();\n"
+"         ((SortedEvictionQueue) evictionQueue).resortEvictionQueue();\n"
+"         long end = System.currentTimeMillis();\n"
+"\n"
+"         if (log.isTraceEnabled())\n"
+"         {\n"
+"            long diff = end - begin;\n"
+"            log.trace(\"Took \" + diff + \"ms to sort queue with \" + "
+"getEvictionQueue().size()\n"
+"            + \" elements\");\n"
+"         }\n"
+"      }\n"
+"\n"
+"   }"
 
 #. Tag: para
 #: Eviction_policies.xml:70
@@ -1053,6 +1618,13 @@
 "   public void resortEvictionQueue();\n"
 "}"
 msgstr ""
+"public interface SortedEvictionQueue extends EvictionQueue\n"
+"{\n"
+"   /**\n"
+"    * Provide contract to resort a sorted queue.\n"
+"    */\n"
+"   public void resortEvictionQueue();\n"
+"}"
 
 #. Tag: para
 #: Eviction_policies.xml:81
@@ -1138,6 +1710,48 @@
 "             &lt;/config&gt;\n"
 "          &lt;/attribute&gt;"
 msgstr ""
+"&lt;attribute name=\"EvictionPolicyClass\"&gt;org.jboss.cache.eviction."
+"LRUPolicy&lt;/attribute&gt;\n"
+"          &lt;!-- Specific eviction policy configurations. This is LRU --"
+"&gt;\n"
+"          &lt;attribute name=\"EvictionPolicyConfig\"&gt;\n"
+"             &lt;config&gt;\n"
+"                &lt;attribute name=\"wakeUpIntervalSeconds\"&gt;5&lt;/"
+"attribute&gt;\n"
+"                &lt;!-- Cache wide default --&gt;\n"
+"                &lt;region name=\"/_default_\"&gt;\n"
+"                    &lt;attribute name=\"maxNodes\"&gt;5000&lt;/"
+"attribute&gt;\n"
+"                    &lt;attribute name=\"timeToLiveSeconds\"&gt;1000&lt;/"
+"attribute&gt;\n"
+"                &lt;/region&gt;\n"
+"                &lt;region name=\"/org/jboss/data\"&gt;\n"
+"                    &lt;attribute name=\"maxNodes\"&gt;5000&lt;/"
+"attribute&gt;\n"
+"                    &lt;attribute name=\"timeToLiveSeconds\"&gt;1000&lt;/"
+"attribute&gt;\n"
+"                &lt;/region&gt;\n"
+"                &lt;region name=\"/org/jboss/test/data\"&gt;\n"
+"                    &lt;attribute name=\"maxNodes\"&gt;5&lt;/attribute&gt;\n"
+"                    &lt;attribute name=\"timeToLiveSeconds\"&gt;4&lt;/"
+"attribute&gt;\n"
+"                &lt;/region&gt;\n"
+"                &lt;region name=\"/test/\"&gt;\n"
+"                    &lt;attribute name=\"maxNodes\"&gt;10000&lt;/"
+"attribute&gt;\n"
+"                    &lt;attribute name=\"timeToLiveSeconds\"&gt;5&lt;/"
+"attribute&gt;\n"
+"                &lt;/region&gt;\n"
+"                &lt;region name=\"/maxAgeTest/\"&gt;\n"
+"                   &lt;attribute name=\"maxNodes\"&gt;10000&lt;/"
+"attribute&gt;\n"
+"                   &lt;attribute name=\"timeToLiveSeconds\"&gt;8&lt;/"
+"attribute&gt;\n"
+"                   &lt;attribute name=\"maxAgeSeconds\"&gt;10&lt;/"
+"attribute&gt;\n"
+"                &lt;/region&gt;\n"
+"             &lt;/config&gt;\n"
+"          &lt;/attribute&gt;"
 
 #. Tag: para
 #: Eviction_policies.xml:97
@@ -1183,6 +1797,39 @@
 "         &lt;/config&gt;\n"
 "      &lt;/attribute&gt;"
 msgstr ""
+"&lt;attribute name=\"EvictionPolicyConfig\"&gt;\n"
+"         &lt;config&gt;\n"
+"            &lt;attribute name=\"wakeUpIntervalSeconds\"&gt;5&lt;/"
+"attribute&gt;\n"
+"            &lt;!-- Cache wide default --&gt;\n"
+"            &lt;region name=\"/_default_\" policyClass=\"org.jboss.cache."
+"eviction.LRUPolicy\"&gt;\n"
+"               &lt;attribute name=\"maxNodes\"&gt;5000&lt;/attribute&gt;\n"
+"               &lt;attribute name=\"timeToLiveSeconds\"&gt;1000&lt;/"
+"attribute&gt;\n"
+"            &lt;/region&gt;\n"
+"            &lt;region name=\"/org/jboss/data\" policyClass=\"org.jboss."
+"cache.eviction.LFUPolicy\"&gt;\n"
+"               &lt;attribute name=\"maxNodes\"&gt;5000&lt;/attribute&gt;\n"
+"               &lt;attribute name=\"minNodes\"&gt;1000&lt;/attribute&gt;\n"
+"            &lt;/region&gt;\n"
+"            &lt;region name=\"/org/jboss/test/data\"\n"
+"                policyClass=\"org.jboss.cache.eviction.FIFOPolicy\"&gt;\n"
+"               &lt;attribute name=\"maxNodes\"&gt;5&lt;/attribute&gt;\n"
+"            &lt;/region&gt;\n"
+"            &lt;region name=\"/test/\" policyClass=\"org.jboss.cache."
+"eviction.MRUPolicy\"&gt;\n"
+"               &lt;attribute name=\"maxNodes\"&gt;10000&lt;/attribute&gt;\n"
+"            &lt;/region&gt;\n"
+"            &lt;region name=\"/maxAgeTest/\" policyClass=\"org.jboss.cache."
+"eviction.LRUPolicy\"&gt;\n"
+"               &lt;attribute name=\"maxNodes\"&gt;10000&lt;/attribute&gt;\n"
+"               &lt;attribute name=\"timeToLiveSeconds\"&gt;8&lt;/"
+"attribute&gt;\n"
+"               &lt;attribute name=\"maxAgeSeconds\"&gt;10&lt;/attribute&gt;\n"
+"            &lt;/region&gt;\n"
+"         &lt;/config&gt;\n"
+"      &lt;/attribute&gt;"
 
 #. Tag: para
 #: Eviction_policies.xml:101
@@ -1227,6 +1874,35 @@
 "         &lt;/config&gt;\n"
 "      &lt;/attribute&gt;"
 msgstr ""
+"&lt;attribute name=\"EvictionPolicyClass\"&gt;org.jboss.cache.eviction."
+"LRUPolicy&lt;/attribute&gt;\n"
+"      &lt;!-- Specific eviction policy configurations. This is LRU --&gt;\n"
+"      &lt;attribute name=\"EvictionPolicyConfig\"&gt;\n"
+"         &lt;config&gt;\n"
+"            &lt;attribute name=\"wakeUpIntervalSeconds\"&gt;5&lt;/"
+"attribute&gt;\n"
+"            &lt;!-- Cache wide default --&gt;\n"
+"            &lt;region name=\"/_default_\"&gt;\n"
+"               &lt;attribute name=\"maxNodes\"&gt;5000&lt;/attribute&gt;\n"
+"               &lt;attribute name=\"timeToLiveSeconds\"&gt;1000&lt;/"
+"attribute&gt;\n"
+"            &lt;/region&gt;\n"
+"            &lt;region name=\"/org/jboss/data\" policyClass=\"org.jboss."
+"cache.eviction.FIFOPolicy\"&gt;\n"
+"               &lt;attribute name=\"maxNodes\"&gt;5000&lt;/attribute&gt;\n"
+"            &lt;/region&gt;\n"
+"            &lt;region name=\"/test/\" policyClass=\"org.jboss.cache."
+"eviction.MRUPolicy\"&gt;\n"
+"               &lt;attribute name=\"maxNodes\"&gt;10000&lt;/attribute&gt;\n"
+"            &lt;/region&gt;\n"
+"            &lt;region name=\"/maxAgeTest/\"&gt;\n"
+"               &lt;attribute name=\"maxNodes\"&gt;10000&lt;/attribute&gt;\n"
+"               &lt;attribute name=\"timeToLiveSeconds\"&gt;8&lt;/"
+"attribute&gt;\n"
+"               &lt;attribute name=\"maxAgeSeconds\"&gt;10&lt;/attribute&gt;\n"
+"            &lt;/region&gt;\n"
+"         &lt;/config&gt;\n"
+"      &lt;/attribute&gt;"
 
 #. Tag: para
 #: Eviction_policies.xml:105




More information about the jboss-cvs-commits mailing list