Timer usuwający wpisy z cache'u

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.

@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?

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...

0 użytkowników online, w tym zalogowanych: 0, gości: 0