2010-12-15 9 views
1

Wenn ich den Ehcache verwenden, gibt es etwas, das ich nicht verstehen kann, was bedeutet, dass ein Element abgelaufen ist, wenn ein Element abgelaufen ist, bedeutet dies, dass der Cache das Element und es löschen wird wird es nicht mehr geben? oder es existierte auch, aber du konntest es nicht bekommen. hier ist der Code, den ich schreibe, bekomme ich Daten aus XML und Richter wie folgtWas bedeutet ein Element in Ehcache abgelaufen

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; 
} 

konnte mir nicht sagen, ob es falsch ist?

Antwort

1

Sie können Ihre ehcache auf Cache-Objekte für eine begrenzte Zeit mit dem Attribut timeToLiveSeconds (in der XML-Konfigurationsdatei)

timeToLiveSeconds gesetzt: die Zeit für ein Element zu leben Sets bevor es abläuft. d. H. Die maximale Zeit zwischen der Erstellungszeit und dem Ablauf eines Elements . Wird nur verwendet, wenn das Element nicht ewig ist. Optionales Attribut. Ein Wert von 0 bedeutet, dass und Element kann für unendlich leben. Der Standardwert ist 0.

Mehr Infos here