[jboss-user] [JBossCache] - Re: Eviction Policy problem cache clear

ben.wang@jboss.com do-not-reply at jboss.com
Mon Oct 9 22:56:43 EDT 2006


OK, eviction policy has this restriction that if you specify the region name from the xml, it needs to be String-based (since there is no way to express Object from xml configuration).

So if you need to evict non-String based fqn, you will have to do it via programmatically yourself. Here is a code snippet that shows you how to do it:


  | 
  | // ... cache needs to be started first, e.g.
  | cache_.start();
  |  
  | // region name is ignored here.
  | String xml = "<region name=\"/dummy\">" +
  |      "<attribute name=\"maxNodes\">10000</attribute>" +
  |      "<attribute name=\"timeToLiveSeconds\">4</attribute>" +
  |      "</region>";
  | Element element = XmlHelper.stringToElement(xml);
  | 
  | RegionManager regionManager = cache_.getEvictionRegionManager();
  | // Fqn is the region name
  | Integer ii = new Integer(1);
  | Fqn fqn = new Fqn(ii);
  | // create region will also add it to the eviction policy map.
  | Region region = regionManager.createRegion(fqn, element);
  | 

Then

  | Integer ii = new Integer(1);
  | Fqn rootfqn = new Fqn(ii);
  | 
  | Integer in = new Integer(3);
  | Fqn fqn = new Fqn(rootfqn, in);
  | cache_.put(fqn, in, in);
  | 
will be evicted later.

BTW, 

1) There is a test case: ProgrammLRUPolicyTest for couple test cases.
2) I am adding this example to the FAQ documentation as well.


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3977112#3977112

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3977112



More information about the jboss-user mailing list