wyłączenie cache EclipseLink

0

Witam
Potrzebuję Waszej pomocy... znowu :) utworzyłem projekt w netbeans maven->Web Application z providerem EclipseLink (JPA 2.1) i próbuję wyłączyć cache ponieważ baza wykonuje mi pewne operacje a aplikacja ich nie odświeża. Próbowałem w persistence.xml ustawić Shared Cache Mode na None, dodawać properties eclipselink.cache.shared.defoult na false niestety bez powodzenia. Serwer aplikacji który używam to GlassFish 4.1.1 NB w wersji 8.2.
Dziękuje z góry:)

0

Nie jesteś w stanie wyłączyć cache level 1 (entity manager). Ale możesz zrobić cache nieważnym dla danej encji (evictAll) dla konkretnego typu (zadziała na chwile):
https://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Caching/Cache_API

0

a jest możliwość ustawienia czasu po jakim ma pamięć odnawiać dane?

0

Po pierwsze wyłącz cache drugiego poziomu.
Po drugie używaj refresh by aktualizować stan encji w EM.
Po trzecie przyjrzyj się CacheStoreMode oraz adnotacji @Cachable i ustaw odpowiednie ignorowanie dla poszczególnych encji.

Z rzeczy na nie. Nie jesteś wstanie wyłączyć cache lvl 1, bo ten jest "przypięty" do entity managera i wykorzystywany przez niego do wykonywania zapytań. Zapewnia też poprawność transakcji.
Nie możesz sterować cache lvl 1 za pomocą Cache API i jest to w dokumentacji jak wół:

Interface used to interact with the second-level cache. If a cache is not in use, the methods of this interface have no effect, except for contains, which returns false.

źródło

Nie możesz domyślnie ustawić timeout na cache, ale pogrzeb w bebechach implementacji cache, bo pewno to tam gdzieś siedzi.

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