コード例 #1
0
ファイル: CacheManager.java プロジェクト: wanghl/Roller
  /** Flush a single cache. */
  public static void clear(String cacheId) {

    Cache cache = (Cache) caches.get(cacheId);
    if (cache != null) {
      cache.clear();
    }
  }
コード例 #2
0
 @Override
 public void clear() {
   if (cache != null) {
     synchronized (this) {
       Billing.debug(TAG, "Clearing the cache");
       cache.clear();
     }
   }
 }
コード例 #3
0
ファイル: CacheManager.java プロジェクト: wanghl/Roller
  /** Flush the entire cache system. */
  public static void clear() {

    // loop through all caches and trigger a clear
    Cache cache = null;
    Iterator cachesIT = caches.values().iterator();
    while (cachesIT.hasNext()) {
      cache = (Cache) cachesIT.next();

      cache.clear();
    }
  }
コード例 #4
0
  public void clean(String groupId) {
    if (groupId == null) {
      groupId = GLOBAL_CACHE_GROUP_ID;
    }
    Map<CacheKey, Cache> caches;
    synchronized (cacheMap) {
      caches = cacheMap.remove(groupId);
    }

    if (caches != null) {
      for (Cache cache : caches.values()) {
        cache.clear();
      }
    }
  }
コード例 #5
0
 @Test
 public void shouldCheckRepoExistenceBeforeTryingPurge()
     throws IOException, IllegalAccessException {
   factory.createSuiteTimeRepo("foo", LATEST_VERSION);
   Cache<EntryRepo> repos = (Cache<EntryRepo>) deref("cache", factory);
   List<String> keys = repos.keys();
   assertThat(keys.size(), is(1));
   String fooKey = keys.get(0);
   repos.clear();
   try {
     factory.purge(fooKey);
   } catch (IOException e) {
     e.printStackTrace();
     fail("Should not fail when trying to purge already purged entry");
   }
 }
コード例 #6
0
  @Test
  public void spr14853AdaptsToOptionalWithSync() {
    AnnotationConfigApplicationContext context =
        new AnnotationConfigApplicationContext(Spr14853Config.class);
    Spr14853Service bean = context.getBean(Spr14853Service.class);
    Cache cache = context.getBean(CacheManager.class).getCache("itemCache");

    TestBean tb = new TestBean("tb1");
    bean.insertItem(tb);
    assertSame(tb, bean.findById("tb1").get());
    assertSame(tb, cache.get("tb1").get());

    cache.clear();
    TestBean tb2 = bean.findById("tb1").get();
    assertNotSame(tb, tb2);
    assertSame(tb2, cache.get("tb1").get());
  }
コード例 #7
0
ファイル: TypeRel.java プロジェクト: mihxil/mmbase
  /*
   * (non-Javadoc)
   * @see org.mmbase.module.core.MMObjectBuilder#notify(org.mmbase.core.event.NodeEvent)
   */
  @Override
  public void notify(NodeEvent event) {
    if (log.isDebugEnabled()) {
      log.debug(
          "Changed "
              + event.getMachine()
              + " "
              + event.getNodeNumber()
              + " "
              + event.getBuilderName()
              + " "
              + NodeEvent.newTypeToOldType(event.getType()));
    }
    if (tableName.equals(event.getBuilderName())) {
      if (event.getType() == Event.TYPE_NEW) {
        MMObjectNode typeRelNode = getNode(event.getNodeNumber());
        if (typeRelNode != null) {
          Set<MMObjectNode> newTypeRels = addCacheEntry(typeRelNode, true);
          log.service("Added to typerelcache: " + newTypeRels);
        } else {
          log.warn("Could not found typerel node with number " + event.getNodeNumber());
        }

      } else {
        // something else changed in a typerel node? reread the complete typeRelNodes Set
        log.service(
            "Received '" + event + "' which is about typrels. Now re-reading the entire cache");
        readCache();
      }
      // also, clear all query-caches, because result may change by this. See MMB-348
      for (Cache qc : CacheManager.getMap().values()) {
        if (qc instanceof QueryResultCache) {
          qc.clear();
        }
      }
    }
    super.notify(event);
  }
コード例 #8
0
  @Test
  public void testCacheManager() throws InterruptedException, CacheException {

    Dummy d =
        new Dummy(
            "Mickey_laskmdkasmdlaksmdkasdasdasdasdasdasdasasmdlaskmdlaksmdlaskmdaklsmmdaskmldasklmdsakasoijdasoidjasidjaoisjdoasijdsaoidjaoisdj",
            "Donald_askdadasdasdasdasdasdsadasdasdmaklsmdlaksmdalskmdaasdassdslkmdaslkdmaslkdmaskldmaklsmdalskmdalksmdlaksdmalskdmalskdmalskdmalksdmalskdmalskdmalskdmalkdm");
    String key = "plutinho";
    Cache<String, Dummy> cache = cacheManager.getCache("test2");

    cache.put(key, d);

    long init = System.currentTimeMillis();
    for (int i = 1; i <= 1000; i++) {
      Dummy iamBack = cache.get(key);
      assertNotNull(iamBack);
      // System.out.println("size: " + cache.size());
      // System.out.println(iamBack);
    }

    System.out.println("Time(Serializable): " + (System.currentTimeMillis() - init));

    cache.clear(); // flush the cache
  }
コード例 #9
0
 public void destroyCache(Cache<String, Object> cache) {
   cache.clear();
 }
コード例 #10
0
 /** Clears the under file system cache. */
 public static void clearCache() {
   UFS_CACHE.clear();
 }
コード例 #11
0
 public void clear() {
   if (cache != null) cache.clear();
 }
コード例 #12
0
 /**
  * {@inheritDoc}
  *
  * @see java.util.Map#clear()
  */
 public void clear() {
   _log.debug(getType() + ".clear() [" + getName() + "]");
   _cache.clear();
 }
コード例 #13
0
ファイル: CacheTQ.java プロジェクト: pologood/Lealone
 public void clear() {
   lru.clear();
   fifo.clear();
   recentlyUsed.clear();
   lastUsed = -1;
 }
コード例 #14
0
 public void clear() {
   map.clear();
   baseCache.clear();
 }
コード例 #15
0
 public void clear() throws IOException {
   hashFile.setSize(0);
   stringFile.setLength(0);
   cache.clear();
 }