Message d'avertissement ehcache «Aucune configuration trouvée»
Question
Je reçois un avertissement après le démarrage de l'application.
2009-05-13 09:19:41,171 WARN net.sf.ehcache.config.Configurator - No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath:jar:file:/app/java/lib/ehcache-1.1.jar!/ehcache-failsafe.xml
J'ai trouvé du code encache dans l'URL suivante. Code ConfigurationFactory
L'application tente de charger le fichier ehcache.xml mais n'a pas trouvé le fichier. Elle charge alors le fichier ehcache-failafe.xml.Je voudrais savoir si cela pose un problème à l'application. Quel est l'impact de chargement ehcache-fail-safe.xml?
La solution
chargement de ehcache-failafe.xml
ne provoque pas de problème en soi; Cependant, cela n’est probablement pas optimal pour votre application.
Les développeurs EhCache n'ont aucun moyen de savoir ce que vous souhaitez mettre en cache. Ainsi, ehcache-failafe.xml
inclus dans la distribution tente de fournir un "plus petit dénominateur commun". paramètres qui fonctionneraient plus ou moins OK dans la plupart des cas. Vous recevez un avertissement vous rappelant de spécifier une configuration plus adaptée à vos besoins spécifiques.
Autres conseils
ehcache.xml
doit être introduit dans votre chemin de classe
et plus précisément dans WEB-INF / classes /
. Ensuite, vous pouvez spécifier vos besoins en fonction de votre environnement.
Ceci est un exemple:
<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
<diskStore path="java.io.tmpdir"/>
<cache name="org.hibernate.cache.UpdateTimestampsCache"
maxElementsInMemory="50000"
eternal="true"
overflowToDisk="true"/>
<cache name="org.hibernate.cache.StandardQueryCache"
maxElementsInMemory="50000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="true"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"
/>
<defaultCache
maxElementsInMemory="50000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="true"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"
/>
</ehcache>
Après 3 ans, espérons que ma réponse pourra aider les autres.
Si vous utilisez Ehcache en tant que fournisseur de cache de deuxième niveau pour le changement de veille prolongée: hibernate.cache.provider_configuration_file_resource_path avec net.sf.ehcache.configurationResourceName Ehcache pourra alors trouver votre configuration.