2010-12-15 5 views
1

lorsque j'utilise le Ehcache, il y a quelque chose que je ne peux pas comprendre, ce qui signifie qu'un élément est expiré, si un élément est expiré cela signifie que le cache effacera l'élément et il n'existera plus? ou il existait aussi mais vous ne pouviez pas l'obtenir. voici le code que j'écris, je reçois des données de xml et juge comme çace qui signifie qu'un élément a expiré dans Ehcache

public Object get(Class classObj, String nodeName, String fileName) { 
    Object obj = null; 

    if (!ehcacheVindicator.getCache().isDisabled()&&ehcacheVindicator.getCache().isKeyInCache(nodeName)) { 
     Element element = ehcacheVindicator.getCache().get(nodeName); 
     if (ehcacheVindicator.getCache().isExpired(element)){ 
      obj = readObject(classObj, fileName, nodeName);// read object from xml file 
      updateObject(nodeName,obj); 
     } 
     else 
      obj = getObject(nodeName); // get object from cache 
    } else { 
     obj = readObject(classObj, fileName, nodeName); // read object from 
     // xml file 
     addObject(nodeName, obj); // add object to cache 
    } 
    return obj; 
} 

ne pouvait pas me dire si c'est faux?

Répondre

1

Vous pouvez configurer votre ehcache à des objets de cache pour une période de temps limitée avec l'attribut timeToLiveSeconds (dans le fichier de configuration XML)

timeToLiveSeconds: Définit le temps de vivre pour un élément avant son expiration. c'est-à-dire le temps maximum entre l'heure de création et l'expiration d'un élément . Est uniquement utilisé si l'élément n'est pas éternel. Attribut facultatif. Une valeur de 0 signifie que et Element peut vivre pour infini. La valeur par défaut est 0.

Plus d'info here