Implementoval som Hibernate 2. úroveň pomocou EhCache a zaregistroval poslucháčov udalostí vyrovnávacej pamäte pomocou inštrukcie
tu: http://ehcache.org/documentation/apis/cache-event-listeners
CacheEventListenerFactory a CacheEventListener fungujú, ale môžem vedieť, ako načítať svoju entitu z prvku?
Skúsil som
public void notifyElementPut(final Ehcache cache, final Element element) throws CacheException{
ABEEntity entity = (ABCEntity)element.getObjectValue(); // throws ClassCastException
}
Stále vyvoláva výnimku pre obsadenie triedy. Môžem vedieť, že je ObjectValue zabalený? Verím, že je pole, ale nemôžem nájsť žiadne informácie o ňom.
Môže niekto láskavo poskytnúť odpoveď a dokumentáciu?
Dokumentácia je dôležitejšia ako odpoveď ????
odpovede:
0 pre odpoveď č. 1Bohužiaľ ste tým nezískali prístup k objektu vašej entity, pretože režim Hibernate 2nd lvl caching neukladá entitu, ale niečo, čo sa nazýva dehydratovaný stav.
Pozri na toto Ktoré triedy sa ukladajú do vyrovnávacej pamäte v medzipamäte druhej úrovne v režime dlhodobého spánku pre ďalšie podrobnosti.