Timer usuwający wpisy z cache'u

Timer usuwający wpisy z cache'u
GypsyOne
  • Rejestracja:około 9 lat
  • Ostatnio:ponad 6 lat
  • Postów:17
0

Hej, w programie dotyczącym EJB mam za zadanie dodać funkcjonalność: Timer usuwający wpisy z cache'u, do których nie było żadnych odwołań w ciągu ostatnich 2 minut.
W pdfie do nauki jest wspomniane o używaniu Timer Service, ale nie wiem jak to dzięki temu zrobić, jak sprecyzować o który element kolekcji chodzi i skąd wiedzieć, że nie był pobierany przez ostatnie 2 minuty.

Kopiuj
@Singleton
public class CacheBean implements CacheBeanRemote {

    private Map<String, Object> cache = new HashMap<>();

    @Override
    public void add(String key, Object value) {
        cache.put(key, value);
    }

    @Override
    public Object get(String key) {
        return cache.get(key);
    }

    @Override
    public boolean contains(String key) {
        return cache.containsKey(key);
    }

    @Override
    public Object remove(String key) {
        return cache.remove(key);
    }

}

ps. po dodatkowym namyśle, czy może tutaj chodzić o @AccessTimeout?

S9
  • Rejestracja:ponad 10 lat
  • Ostatnio:6 miesięcy
  • Lokalizacja:Warszawa
  • Postów:3573
0

Troche offtopic ale czy nie powinna to być ConcurrentMapa zamiast zwyklej? W końcu wiele wątków będzie chciało się dostac do tego cache...


"w haśle <młody dynamiczny zespół> nie chodzi o to ile masz lat tylko jak często zmienia się skład"
GypsyOne
Przeczytane, douczone i zmienione, dzięki :>

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.