Abgelaufene Objekte in Ehcache abrufen

8

Ich möchte den folgenden Algorithmus über Ehcache implementieren:

  • versuche ein Element aus dem Cache zu bekommen
  • wenn das Element nicht abgelaufen ist
    • dient dem Wert
  • sonst
    • dient dem abgelaufenen Wert
    • Aktualisieren Sie das Element im Hintergrund

Aber ich bekomme nie ein abgelaufenes Element (Element.isExpired ()). Ich habe versucht, mit meiner Cache-Konfiguration (insbesondere TimeToLive und TimeToIdle) zu spielen, aber ich kann nicht so funktionieren, wie ich will. Ich kann die Schlüssel im Cache auflisten, aber wenn ich ein abgelaufenes Element "bekomme ()", bekomme ich immer eine Null.

Was mache ich falsch?

    
Guillaume 04.03.2009, 09:54
quelle

1 Antwort

4

Sie machen nichts falsch. Die Dokumentation besagt, dass das Abrufen eines abgelaufenen Elements es aus dem Cache entfernt und null zurückgibt.

Ich vermute, das einzige Mal, dass ein Element als abgelaufen angezeigt wird, ist, wenn Sie einen Event-Listener für Elementablauf-Ereignisse haben, aber ich kann nicht sagen, dass ich das jemals getestet habe.

    
cletus 04.03.2009, 11:36
quelle