Me voilà avec une application grails que je dois déployer sur un serveur tomcat. Pour test, je crée un war (grails dev war) de développement et je le place sur le serveur Tomcat 6.0. Je démarre Tomcat et là pas de soucis. Tout roule. C'est facile Grails.
Je crée donc un war de production (grails prod war), je le place sous Tomcat et là, catastrophe. Rien ne fonctionne. J'ai une jolie erreur lors du déploiement.
14-avr.-2010 10:11:28 org.apache.catalina.loader.WebappClassLoader clearReferencesStopTimerThread
GRAVE: A web application appears to have started a TimerThread named [net.sf.ehcache.CacheManager@1f6c18] via the java.util.Timer API but has failed to stop it. To prevent a memory leak, the timer (and hence the associated thread) has been forcibly cancelled.
14-avr.-2010 10:11:28 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
GRAVE: A web application appears to have started a thread named [Store org.grails.taggable.TagLink Spool Thread] but has failed to stop it. This is very likely to create a memory leak.
14-avr.-2010 10:11:28 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
Qu'est-ce donc que cette histoire ?
Je cherche, je cherche et je cherche encore. Jusqu'au moment où je retire de mon fichier Config.groovy les lignes de log (log4j) concernant ehcache.
Je redéploie l'application et là, tout fonctionne.