Timer usuwający wpisy z cache'u

Odpowiedz Nowy wątek
2018-04-21 23:29
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?

Pozostało 580 znaków

2018-04-21 23:40
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...


Nie pomagam przez PM. Pytania zadaje się na forum.
Przeczytane, douczone i zmienione, dzięki :> - GypsyOne 2018-04-21 23:53
To EJB. Tam Singleton jest thread safe http://javaeesquad.blogspot.c[...]aspects-of-singleton-ejb.html - w związku z tym @GypsyOne źle douczone - jarekr000000 2018-04-22 00:20

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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