Package org.jboss.cache.config

Examples of org.jboss.cache.config.EvictionRegionConfig


   }

   private static EvictionRegionConfig parseEvictionRegionConfig(Element element, String defaultEvPolicyClassName, int defaultQueueCapacity)
   {
      EvictionRegionConfig erc = new EvictionRegionConfig();

      erc.setRegionName(element.getAttribute(EvictionRegionConfig.NAME));

      String temp = element.getAttribute("eventQueueSize");
      if (temp != null && temp.length() > 0)
      {
         erc.setEventQueueSize(Integer.parseInt(temp));
      }
      else
      {
         erc.setEventQueueSize(defaultQueueCapacity);
      }
      String evictionClass = element.getAttribute("policyClass");

      if (evictionClass == null || evictionClass.length() == 0)
      {
         evictionClass = defaultEvPolicyClassName;
         // if it's still null... what do we setCache?
         if (evictionClass == null || evictionClass.length() == 0)
         {
            throw new MissingPolicyException(
                  "There is no Eviction Policy Class specified on the region or for the entire cache!");
         }
      }

      EvictionAlgorithmConfig algorithmConfig = getEvictionAlgorithmConfig(evictionClass);

      parseEvictionPolicyConfig(element, algorithmConfig);

      erc.setEvictionAlgorithmConfig(algorithmConfig);
      return erc;
   }
View Full Code Here


      config.setUseRegionBasedMarshalling(useRegionBased);
      config.setInactiveOnStartup(useRegionBased);

      int wakeupInterval = 1000000; // a long time; really disabled
      EvictionConfig ec = new EvictionConfig(
            new EvictionRegionConfig(
                  Fqn.ROOT,
                  new LRUAlgorithmConfig(1000000, 0, 1000)
            ),
            wakeupInterval
      );
View Full Code Here

    * Evicts the given region but only after ensuring that region's TTL passed.
    */
   public void evictRegionWithTimeToLive(String region) throws Exception
   {
      EvictionConfig evConfig = cache.getConfiguration().getEvictionConfig();
      EvictionRegionConfig erConfig = evConfig.getEvictionRegionConfig(region);
      if (erConfig == null)
      {
         throw new IllegalStateException("No such region!");
      }
      long ttl = 0;
      if (erConfig.getEvictionAlgorithmConfig() instanceof LRUAlgorithmConfig)
      {
         LRUAlgorithmConfig configuration = (LRUAlgorithmConfig) erConfig.getEvictionAlgorithmConfig();
         ttl = configuration.getTimeToLive();
      }
      else
      {
         throw new IllegalArgumentException("Only LRU being handled for now; please add other implementations here");
View Full Code Here

   private void configureEviction(Configuration cfg)
   {
      EvictionConfig ec = new EvictionConfig();
      ec.setWakeupInterval(5000);
      EvictionRegionConfig erc = new EvictionRegionConfig();
      erc.setRegionFqn(Fqn.ROOT);
      LRUAlgorithmConfig lruAlgorithmConfig = new LRUAlgorithmConfig();
      lruAlgorithmConfig.setMaxAge(0);
      lruAlgorithmConfig.setTimeToLive(0);
      lruAlgorithmConfig.setMaxNodes(1);
      erc.setEvictionAlgorithmConfig(lruAlgorithmConfig);
      ec.setDefaultEvictionRegionConfig(erc);
      cfg.setEvictionConfig(ec);
   }
View Full Code Here

      ec.setWakeupInterval(1000);

      LRUAlgorithmConfig lru = new LRUAlgorithmConfig();
      lru.setMaxNodes(0);
      lru.setTimeToLive(5000);
      ec.setDefaultEvictionRegionConfig(new EvictionRegionConfig(Fqn.ROOT, lru));

      lru = new LRUAlgorithmConfig();
      lru.setMaxNodes(0);
      lru.setTimeToLive(1000);
      ec.addEvictionRegionConfig(new EvictionRegionConfig(BASE, lru));

      cache.getConfiguration().setEvictionConfig(ec);
   }
View Full Code Here

   }

   private EvictionConfig getEvictionConfig()
   {
      EvictionConfig c = new EvictionConfig();
      EvictionRegionConfig defaultRegion = new EvictionRegionConfig(Fqn.ROOT, new NullEvictionAlgorithmConfig());
      c.setDefaultEvictionRegionConfig(defaultRegion);
      c.setWakeupInterval(1000);

      LRUAlgorithmConfig lru = new LRUAlgorithmConfig(1000, 1000);
      EvictionRegionConfig subregion = new EvictionRegionConfig(fqn, lru);
      c.addEvictionRegionConfig(subregion);
      return c;
   }
View Full Code Here

   private void initCaches()
   {
      Configuration conf = UnitTestCacheConfigurationFactory.createConfiguration(Configuration.CacheMode.LOCAL, true);
      CacheFactory<Object, Object> instance = new UnitTestCacheFactory<Object, Object>();
      cache = (CacheSPI<Object, Object>) instance.createCache(conf, false);
      EvictionConfig erc = new EvictionConfig(new EvictionRegionConfig(Fqn.ROOT, new LRUAlgorithmConfig(0, 0, 10)), 200);
      conf.setEvictionConfig(erc);
      cache.getConfiguration().setTransactionManagerLookupClass(DummyTransactionManagerLookup.class.getName());
      cache.getConfiguration().setIsolationLevel(IsolationLevel.SERIALIZABLE);

      cache.create();
View Full Code Here

   }

   private void addStringBasedRegion() throws Exception
   {
      LRUAlgorithmConfig lru = new LRUAlgorithmConfig(150, 0, 1000);
      EvictionRegionConfig regConfig = new EvictionRegionConfig(Fqn.fromString("/dummy"), lru);

      RegionManager regionManager = cache.getRegionManager();
      EvictionConfig topConfig = cache.getConfiguration().getEvictionConfig();
      topConfig.addEvictionRegionConfig(regConfig);
      regionManager.setEvictionConfig(topConfig);
View Full Code Here

   }

   private void addObjectBasedRegion() throws Exception
   {
      LRUAlgorithmConfig lru = new LRUAlgorithmConfig(150, 1000);
      EvictionRegionConfig regConfig = new EvictionRegionConfig(Fqn.fromElements(1), lru);

      RegionManager regionManager = cache.getRegionManager();
      EvictionConfig topConfig = cache.getConfiguration().getEvictionConfig();
      topConfig.addEvictionRegionConfig(regConfig);
      regionManager.setEvictionConfig(topConfig);
View Full Code Here

      assert 5 == evictionConfig.getWakeupInterval();

      List<EvictionRegionConfig> regionConfigs = evictionConfig.getEvictionRegionConfigs();
      assert regionConfigs.size() == 2;

      EvictionRegionConfig first = evictionConfig.getDefaultEvictionRegionConfig();
      assert first.getRegionName().equals("/");
      assert first.getEvictionAlgorithmConfig() instanceof LRUAlgorithmConfig;
      LRUAlgorithmConfig firstConfiguration = (LRUAlgorithmConfig) first.getEvictionAlgorithmConfig();
      assert firstConfiguration.getMaxAge() <= 0;
      assert firstConfiguration.getTimeToLive() == 1000;
      assert firstConfiguration.getMaxNodes() == 5000;

      EvictionRegionConfig second = regionConfigs.get(0);
      LRUAlgorithmConfig secondConfiguration = (LRUAlgorithmConfig) second.getEvictionAlgorithmConfig();
      assert secondConfiguration.getMaxAge() == -1;
      assert secondConfiguration.getTimeToLive() == 1002;
      assert secondConfiguration.getMaxNodes() == 0;

      EvictionRegionConfig third = regionConfigs.get(1);
      MRUAlgorithmConfig thirdConfiguration = (MRUAlgorithmConfig) third.getEvictionAlgorithmConfig();
      assert thirdConfiguration.getMaxNodes() == 2103;
      assert thirdConfiguration.getMinTimeToLive() == 22;
      assert third.getEventQueueSize() == 21;
   }
View Full Code Here

TOP

Related Classes of org.jboss.cache.config.EvictionRegionConfig

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.