2010-05-13 4 views
3

Je cours plusieurs applications Grails sur un de mes serveurs. J'utilise Grails 1.2.2. J'utilise la configuration de cache par défaut dans DataSource.groovy. Lorsque je tente et exécuter deux applications Grails, ils ont tous deux semblent utiliser/écrivant à:Plusieurs applications Grails créent des conflits Ehcache

/tmp/org.hibernate.cache.UpdateTimestampsCache.data

Quand je regarde comment personnaliser Ehcache avec un ehcache .xml de cette page:

http://ehcache.org/documentation/grails.html

Je ne vois pas d'informations sur la spécification des emplacements et/ou les noms ou les fichiers temporaires. Comment éviter ce problème lors de l'exécution de plusieurs applications Grails sur le même serveur (sans désactiver le cache)?

Précision: En ce qui concerne la réponse de Deepak

Depuis que je suis comme le déploiement de cette guerre serait-ce un exemple de quelque chose que je voudrais ajouter au bloc des environnements de Config.groovy?

environments { 
    production { 
     java.io.tmpdir = /tmp/myapp-prod.tmp 
    } 
} 

Répondre

5

J'ai déjà fait face à ce problème. J'ai simplement spécifié un emplacement différent pour la propriété système java.io.tmpdir lors du démarrage du serveur intégré grails. Par exemple.

Grails -Djava.io.tmpdir =/home/dmittal/tmp run-app

Vous devez spécifier un autre emplacement du répertoire temporaire pour différentes applications Grails.

+0

Si vous voulez faire dans une guerre déployée, vous aurez voulez définir java.io.tmpdir lorsque vous démarrez votre serveur d'applications (tomcat/jetty etc). Vous pouvez utiliser la même syntaxe -Djava.io.tmpdir =/path/to/tmp/dir pour le faire. –

0

Ajouter ce qui suit à votre fichier ehcache.xml (mine est située dans le répertoire racine du projet) pour configurer le chemin diskStore ehcache:

<diskStore path="java.io.tmpdir"/> 
Questions connexes