Hibernate Cache ehcache.xml zweite Ebene, die Cache für Entitäten Einstellung kann nicht gelesen werden, um zu überwintern

StackOverflow https://stackoverflow.com/questions/934720

Frage

Um es klar und einfach zu machen, ich habe zwei Projekte: 1. Ein Entity-Projekt, wo es alle Entitätsklassen in diesem Projekt. 2. Ein Projekt, das eine Funktion main () enthält die Anwendung auszuführen, My ehcache.xml im Klassenpfad des Projektes platziert wird.

Mein Problem ist: Ich kann das defaultCache ändern Element ehcache.xml und ich kann Änderungen aus der SQL-Protokolldatei sehen. Aber ich denke, nur die Hibernate meines lesen defaultCache Element, weil alles, was ich in den Cache ändern Element einer bestimmten Einheit von ehcache.xml, wird es keine Veränderungen geben in das SQL-Protokoll.

Zum Beispiel: Wenn ich die maxElementsInMemory defaultCache Element 0 , was auch immer ich die gesetzt maxElementsInMemory der Cache Element einer Einheit 100 oder 0 , wird es nicht, die Einheit im Cache gespeicherten in der zweiten Ebene Cache sein. Wenn ich die maxElementsInMemory defaultCache Element 100 , was auch immer ich die gesetzt maxElementsInMemory der Cache Element einer Einheit 100 oder 0 , gibt es immer sein, dass Unternehmen gecached in der zweiten Ebene Cache.

Also ich denke, vielleicht der Name-Attribut des Cache Element einer Einheit falsch eingestellt und kann nicht aus dem Ruhezustand gelesen werden?

War es hilfreich?

Lösung

Ich fand, wo mein Problem ist. Ich verwende ehcache als Cache-Provider. Im ehcache.xml, ich denke, das defaultCache Element auch für die ganze QueryCaches auch verwendet wird, wenn ich nicht die standardQueryCache Element festgelegt haben. So ist es nicht wichtig, ob oder nicht stelle ich die maxElementsInMemory von „0“, weil alle Querycache die defaultCache Region verwenden. Aber die Einstellung der maxElementsInMemory von „0“ kann auf jeden Fall helfen, den sencond-Level-Cache dieser Einheit zu deaktivieren, wenn EntityManager.find () -Funktion.

Andere Tipps

Bitte lesen Sie die Dokumentation. Im Falle einer maxElementsInMemory Einstellung einen Wert von 0 eine besondere Bedeutung - unlimited. Also anstatt sich überhaupt keinen Cache, du bist das Caching alles.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top