Szukam wszędzie prostej odpowiedzi na powyższe pytanie i po prostu nie mogę jej znaleźć. Mam metody takie jak:Co robi Spring @Cacheable po umieszczeniu metody zwracającej listę?
@Cacheable(cacheNames = "objects")
public List<Object> get() { .. }
używam ehcache 2.10.0 z Spring Framework 4.2.1, i widzę następujące dane wyjściowe dla tego sposobu:
Adding cacheable method 'get' with attribute: [CacheableOperation[public java.util.List com.example.DAO.get()] caches=[objects] | key='' ...
również (później rejestrowanie)
Computed cache key 'SimpleKey []' for operation ...
Jaki jest @Cacheable adnotacja powinien zrobić w tej sytuacji? Umieścić każdy obiekt w pamięci podręcznej z kluczem hashCode (jak wskazano w innym miejscu)? Lub po prostu plonk całą listę jako jest w pamięci podręcznej w niektórych hashCode na liście?
Tak więc zwróci całą listę na drugim wywołaniu metody get()? – ben3000
Tak, to by było. Ponieważ ma już rekord, że metoda została wykonana, obiekt jest buforowany. Pamiętaj, że twoja metoda musi być również publiczna. –
Czy poszczególne obiekty na liście mogą być buforowane pod oddzielnymi klawiszami? – ben3000