Package org.jboss.cache.eviction

Examples of org.jboss.cache.eviction.Region


            parent.addChild(name, target);
           
            // Make sure any eviction policy is aware of this node
            if (erm != null)
            {
               Region region = null;
               try
               {
                  region = erm.getRegion(fqn);
               }
               catch (RuntimeException e)
               {
                  if (erm.hasRegion(RegionManager.DEFAULT_REGION))
                     throw e;
                  // else the fqn is not associated with an eviction region
               }
              
               if (region != null)
               {
                  region.putNodeEvent(new EvictedEventNode(fqn, EvictedEventNode.ADD_NODE_EVENT,
                                                           attrs == null ? 0 : attrs.size()));
               }
            }
           
            // Recursively call, which will walk down the tree
View Full Code Here


      cache1.put("/a/b/c", "key", "value");
     
      cache2.startService();
     
      RegionManager erm = cache2.getEvictionRegionManager();
      Region region = erm.getRegion(Fqn.ROOT);
      // We expect events for /a, /a/b and /a/b/c
      assertEquals("Saw the expected number of node events", 3, region.nodeEventQueueSize());
   }
View Full Code Here

            parent.addChild(name, target);
           
            // Make sure any eviction policy is aware of this node
            if (erm != null)
            {
               Region region = null;
               try
               {
                  region = erm.getRegion(fqn);
               }
               catch (RuntimeException e)
               {
                  if (erm.hasRegion(RegionManager.DEFAULT_REGION))
                     throw e;
                  // else the fqn is not associated with an eviction region
               }
              
               if (region != null)
               {
                  region.putNodeEvent(new EvictedEventNode(fqn, EvictedEventNode.ADD_NODE_EVENT,
                                                           attrs == null ? 0 : attrs.size()));
               }
            }
           
            // Recursively call, which will walk down the tree
View Full Code Here

            parent.addChild(name, target);
           
            // Make sure any eviction policy is aware of this node
            if (erm != null)
            {
               Region region = null;
               try
               {
                  region = erm.getRegion(fqn);
               }
               catch (RuntimeException e)
               {
                  if (erm.hasRegion(RegionManager.DEFAULT_REGION))
                     throw e;
                  // else the fqn is not associated with an eviction region
               }
              
               if (region != null)
               {
                  region.putNodeEvent(new EvictedEventNode(fqn, EvictedEventNode.ADD_NODE_EVENT,
                                                           attrs == null ? 0 : attrs.size()));
               }
            }
           
            // Recursively call, which will walk down the tree
View Full Code Here

  
   private void sendEvictionNotifications(TreeNode node, RegionManager erm)
   {
      Fqn fqn = node.getFqn();     

      Region region = null;
      try
      {
         region = erm.getRegion(fqn);
      }
      catch (RuntimeException e)
      {
         if (erm.hasRegion(RegionManager.DEFAULT_REGION))
            throw e;
         // else the fqn is not associated with an eviction region
      }
     
      if (region != null)
      {
         Map attrs = node.getData();
         region.putNodeEvent(new EvictedEventNode(fqn, EvictedEventNode.ADD_NODE_EVENT,
                                                  attrs == null ? 0 : attrs.size()));
      }
     
      // Walk the tree
      Map children = node.getChildren();
View Full Code Here

      // make sure node that doesn't exist does not result in a node visit event.

      MethodCall mc = MethodCallFactory.create(MethodDeclarations.getNodeMethodLocal,
            new Object[]{Fqn.fromString(fqn1)});
      interceptor.invoke(mc);
      Region regionABC = regionManager.getRegion(fqn1);
      assertNull(regionABC.takeLastEventNode());

      cache.put(fqn1, "key", "value");
      assertEquals("value", cache.get(fqn1, "key"));
      Node node = cache.get(fqn1);
      assertNotNull(node);
      assertEquals("value", node.get("key"));

      cache.put(fqn3, "key", "value");
      assertEquals("value", cache.get(fqn3, "key"));
      node = cache.get(fqn3);
      assertNotNull(node);
      assertEquals("value", node.get("key"));


      mc = MethodCallFactory.create(MethodDeclarations.getNodeMethodLocal,
            new Object[]{Fqn.fromString(fqn1)});
      interceptor.invoke(mc);

      regionABC = regionManager.getRegion(fqn1);
      EvictedEventNode event = regionABC.takeLastEventNode();
      assertEquals(EvictedEventNode.VISIT_NODE_EVENT, event.getEvent());
      assertEquals(fqn1, event.getFqn().toString());
      assertNull(regionABC.takeLastEventNode());

      mc = MethodCallFactory.create(MethodDeclarations.getNodeMethodLocal,
            new Object[]{Fqn.fromString(fqn2)});
      interceptor.invoke(mc);

      Region regionAB = regionManager.getRegion(fqn2);
      event = regionAB.takeLastEventNode();
      assertEquals(EvictedEventNode.VISIT_NODE_EVENT, event.getEvent());
      assertEquals(fqn2, event.getFqn().toString());
      assertNull(regionAB.takeLastEventNode());

      mc = MethodCallFactory.create(MethodDeclarations.getDataMapMethodLocal, new Object[]{Fqn.fromString(fqn3)});
      interceptor.invoke(mc);
      Region regionABD = regionManager.getRegion(fqn3);
      event = regionABD.takeLastEventNode();
      assertEquals(EvictedEventNode.VISIT_NODE_EVENT, event.getEvent());
      assertEquals(fqn3, event.getFqn().toString());
      assertNull(regionABD.takeLastEventNode());

      for (int i = 0; i < 10; i++)
      {
         Fqn fqn = Fqn.fromString(fqn3);
         mc = MethodCallFactory.create(MethodDeclarations.getNodeMethodLocal, new Object[]{fqn});
         interceptor.invoke(mc);
      }

      for (int i = 0; i < 10; i++)
      {
         Region region = regionManager.getRegion(fqn3);
         event = region.takeLastEventNode();
         assertEquals(EvictedEventNode.VISIT_NODE_EVENT, event.getEvent());
         assertEquals(fqn3, event.getFqn().toString());
      }

      assertNull(regionManager.getRegion(fqn3).takeLastEventNode());
View Full Code Here

      // aka Region.
      Fqn fqn = Fqn.fromString(fqn4);
      Object key = "key";
      MethodCall mc = MethodCallFactory.create(MethodDeclarations.getKeyValueMethodLocal, new Object[]{fqn, key, Boolean.FALSE});
      interceptor.invoke(mc);
      Region region = regionManager.getRegion(fqn.toString());
      assertNull(region.takeLastEventNode());

      // add the node but try to get on a null element should result in no cache events being added to Region.
      cache.put(fqn, "wrongkey", "");
      mc = MethodCallFactory.create(MethodDeclarations.getKeyValueMethodLocal, new Object[]{fqn, key, Boolean.FALSE});
      interceptor.invoke(mc);
      assertNull(region.takeLastEventNode());

      // now make sure if we try to get on the node/key we just created in cache, that this DOES add a EvictedEventNode to
      // the Region.
      mc = MethodCallFactory.create(MethodDeclarations.getKeyValueMethodLocal, new Object[]{fqn, "wrongkey", Boolean.FALSE});
      interceptor.invoke(mc);
      EvictedEventNode event = region.takeLastEventNode();
      assertEquals(fqn, event.getFqn());
      assertEquals(EvictedEventNode.VISIT_NODE_EVENT, event.getEvent());

      assertNull(region.takeLastEventNode());

      cache.put(fqn4, key, "value");
      // test on element granularity configured node.
      fqn = Fqn.fromString(fqn4);
      mc = MethodCallFactory.create(MethodDeclarations.getKeyValueMethodLocal, new Object[]{fqn, key, Boolean.FALSE});
      interceptor.invoke(mc);

      region = regionManager.getRegion(fqn.toString());
      event = region.takeLastEventNode();

      assertEquals(EvictedEventNode.VISIT_NODE_EVENT, event.getEvent());
      assertEquals(fqn, event.getFqn());

      assertNull(region.takeLastEventNode());

      fqn = Fqn.fromString("/d/e/g");
      for (int i = 0; i < 1000; i++)
      {
         key = new Integer(i);

         cache.put("/d/e/g", key, "");

         mc = MethodCallFactory.create(MethodDeclarations.getKeyValueMethodLocal, new Object[]{fqn, key, Boolean.TRUE});
         interceptor.invoke(mc);
      }

      region = regionManager.getRegion(fqn.toString());
      for (int i = 0; i < 1000; i++)
      {
         event = region.takeLastEventNode();
         assertEquals(fqn, event.getFqn());
         assertEquals(EvictedEventNode.VISIT_NODE_EVENT, event.getEvent());
      }

      cache.put("/a/b/c", key, "");
      fqn = Fqn.fromString("/a/b/c");
      mc = MethodCallFactory.create(MethodDeclarations.getKeyValueMethodLocal, new Object[]{fqn, key, Boolean.FALSE});
      interceptor.invoke(mc);

      region = regionManager.getRegion(fqn.toString());
      event = region.takeLastEventNode();

      assertNull(region.takeLastEventNode());
      assertEquals(EvictedEventNode.VISIT_NODE_EVENT, event.getEvent());
      assertEquals(fqn, event.getFqn());

      for (int i = 0; i < 1000; i++)
      {
         key = new Integer(i);

         cache.put(fqn.toString(), key, "");

         mc = MethodCallFactory.create(MethodDeclarations.getKeyValueMethodLocal, new Object[]{fqn, key, Boolean.TRUE});
         interceptor.invoke(mc);
      }

      for (int i = 0; i < 1000; i++)
      {
         event = region.takeLastEventNode();
         assertEquals(EvictedEventNode.VISIT_NODE_EVENT, event.getEvent());
         assertEquals(fqn, event.getFqn());
      }

      assertNull(region.takeLastEventNode());

      // check null handling
      mc = MethodCallFactory.create(MethodDeclarations.getKeyValueMethodLocal, new Object[]{null, key, Boolean.TRUE});
      interceptor.invoke(mc);
      assertNull(region.takeLastEventNode());

      mc = MethodCallFactory.create(MethodDeclarations.getKeyValueMethodLocal, new Object[]{null, null, Boolean.TRUE});
      interceptor.invoke(mc);
      assertNull(region.takeLastEventNode());

      mc = MethodCallFactory.create(MethodDeclarations.getKeyValueMethodLocal, new Object[]{fqn, null, Boolean.TRUE});
      interceptor.invoke(mc);
      assertNull(region.takeLastEventNode());
   }
View Full Code Here

      Fqn fqn = Fqn.fromString("/a/b/c");

      MethodCall mc = MethodCallFactory.create(MethodDeclarations.putDataMethodLocal, new Object[]{null, fqn, data, Boolean.FALSE});
      interceptor.invoke(mc);

      Region region = regionManager.getRegion(fqn.toString());
      EvictedEventNode event = region.takeLastEventNode();

      assertEquals(EvictedEventNode.ADD_NODE_EVENT, event.getEvent());
      assertEquals(fqn, event.getFqn());
      assertEquals(100, event.getElementDifference());

      Node node = cache.get(fqn.toString());
      assertNotNull(node);

      for (int i = 0; i < 100; i++)
      {
         Integer in = new Integer(i);
         assertTrue(node.containsKey(in));
         assertEquals(in, node.get(in));
      }

      for (int i = 0; i < 100; i++)
      {
         mc = MethodCallFactory.create(MethodDeclarations.putKeyValMethodLocal, new Object[]{null, fqn, new Integer(i),
               "value", Boolean.FALSE});
         interceptor.invoke(mc);

         assertEquals("value", cache.get(fqn.toString(), new Integer(i)));
      }

      for (int i = 0; i < 100; i++)
      {
         event = region.takeLastEventNode();
         assertNotNull(event);
         assertEquals(fqn, event.getFqn());
         assertEquals(EvictedEventNode.ADD_ELEMENT_EVENT, event.getEvent());
      }

      assertNull(region.takeLastEventNode());

      fqn = Fqn.fromString("/a/b");
      mc = MethodCallFactory.create(MethodDeclarations.putDataEraseMethodLocal, new Object[]{null, fqn, data, Boolean.FALSE, Boolean.FALSE});
      interceptor.invoke(mc);
      event = regionManager.getRegion(fqn.toString()).takeLastEventNode();
View Full Code Here

   }

   public void testCreateElement() throws Throwable
   {
      Fqn fqn = Fqn.fromString("/d/e/f");
      Region region = regionManager.getRegion(fqn.toString());
      Object key = "key";
      Object value = "value";

      MethodCall mc = MethodCallFactory.create(MethodDeclarations.putKeyValMethodLocal,
            new Object[]{null, fqn, key, value, Boolean.FALSE});
      interceptor.invoke(mc);
      assertEquals("value", cache.get(fqn, key));
      EvictedEventNode event = region.takeLastEventNode();
      assertEquals(EvictedEventNode.ADD_ELEMENT_EVENT, event.getEvent());
      assertEquals(1, event.getElementDifference());
      assertEquals(fqn, event.getFqn());
      assertEquals("value", cache.get(fqn, key));
      assertNull(region.takeLastEventNode());

      mc = MethodCallFactory.create(MethodDeclarations.putFailFastKeyValueMethodLocal,
            new Object[]{null, fqn, key, value, Boolean.FALSE, new Long(1000)});
      interceptor.invoke(mc);
      assertEquals("value", cache.get(fqn, key));
      event = region.takeLastEventNode();
      assertEquals(EvictedEventNode.ADD_ELEMENT_EVENT, event.getEvent());
      assertEquals(1, event.getElementDifference());
      assertEquals(fqn, event.getFqn());
      assertEquals("value", cache.get(fqn, key));
      assertNull(region.takeLastEventNode());

   }
View Full Code Here

      MethodCall mc = MethodCallFactory.create(MethodDeclarations.removeDataMethodLocal, new Object[]{
            null, fqn, Boolean.FALSE});
      interceptor.invoke(mc);

      assertEquals(0, cache.get(fqn).numAttributes());
      Region region = regionManager.getRegion(fqn.toString());
      EvictedEventNode event = region.takeLastEventNode();
      assertEquals(EvictedEventNode.REMOVE_NODE_EVENT, event.getEvent());
      assertEquals(fqn, event.getFqn());
      assertNull(region.takeLastEventNode());

      mc = MethodCallFactory.create(MethodDeclarations.removeNodeMethodLocal, new Object[]{
            null, fqn, Boolean.FALSE
      });
      interceptor.invoke(mc);

      assertNull(cache.get(fqn));
      event = region.takeLastEventNode();
      assertEquals(EvictedEventNode.REMOVE_NODE_EVENT, event.getEvent());
      assertEquals(fqn, event.getFqn());
      assertNull(region.takeLastEventNode());
   }
View Full Code Here

TOP

Related Classes of org.jboss.cache.eviction.Region

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.