Mise en veille prolongée cache de second niveau ehcache.xml, le paramétrage de cache pour les entités ne peut être lu hiberner

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

Question

Pour la rendre claire et facile, j'ai deux projets: 1. Un projet d'entité où il y a toutes les classes d'entités dans ce projet. 2. Un projet qui contient une fonction principale () pour exécuter l'application, Mon ehcache.xml est placé dans le chemin de classe de ce projet.

Mon problème est le suivant: Je peux changer l'élément defaultCache ehcache.xml et je peux voir les modifications du fichier journal SQL. Mais je pense que la mise en veille prolongée en lecture seule ma defaultCache élément, parce que tout ce que je change dans l'élément cache d'une entité spécifique de ehcache.xml, il n'y aura pas de changements dans le journal SQL.

Par exemple: Si je mets le maxElementsInMemory defaultCache pour 0 , tout ce que je mets le maxElementsInMemory du cache élément d'une entité à 100 ou 0 , il n'y aura pas que l'entité en cache dans le cache de second niveau. Si je mets le maxElementsInMemory defaultCache pour 100 , tout ce que je mets le maxElementsInMemory du cache élément d'une entité à 100 ou 0 , il y a toujours que cache l'entité dans le cache de second niveau.

Je pense que peut-être l'attribut nom du cache élément d'une entité est mal définie et ne peut pas être lu de mise en veille prolongée?

Était-ce utile?

La solution

J'ai trouvé où est mon problème. J'utilise ehcache en tant que fournisseur de cache. Dans le ehcache.xml, je pense que l'élément defaultCache est également utilisé pour tous les QueryCaches aussi, si je ne l'ai pas mis l'élément StandardQueryCache. Il est donc important de ne pas si je mets le maxElementsInMemory de « 0 », parce que tous les QueryCache utilisent la région defaultCache. Mais le réglage de la maxElementsInMemory de « 0 » peut certainement aider à désactiver le cache de niveau sencond de cette entité lorsque vous utilisez la fonction EntityManager.find ().

Autres conseils

S'IL VOUS PLAÎT, lisez la documentation. En cas de réglage maxElementsInMemory, une valeur de 0 a une signification particulière - unlimited. Ainsi, au lieu d'obtenir sans cache du tout, vous êtes tout en cache.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top