Problème

Si dans une même instance d'un serveur d'application web (Tomcat par exemple) vous avez au moins 2 webapps Adélia Cloud ou 2 webapps Adélia Web (jsp, service web rest ou soap) vous avez lors du déploiement de la 2ème application par le serveur d'application une erreur "Error during load ehcache configuration:net.sf.ehcache.CacheException: javax.management.InstanceAlreadyExistsException".

Solution

Cette erreur arrive car on se retrouve au niveau de la JVM avec 2 instances du gestionnaire de cache avec un nom identique.  Cela se corrige en modifiant le fichier de configuration de ehcache de la webapp.

Pour les applications Adélia Cloud il faut modifier le fichier /WEB-INF/conf/ehcache.xml 

Contexte Adélia Cloud
  1. Ajouter un attribut "name" pour la balise ehcache
    <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:noNamespaceSchemaLocation="ehcache.xsd"    updateCheck="false" monitoring="autodetect"   dynamicConfig="true" name="WagonCacheN2">
    Et faire en sorte que toutes les webapps est un name différent.
  2. Modifier l'attribut "path" de la balise diskstore :
    <diskStore path="java.io.tmpdir/wagoncacheP2"/>
    Et faire en sorte que toutes les webapps est un path différent

Pour les applications Adélia Web il faut modifier le fichier /WEB-INF/classes/ehcacheAdelWeb.xml

Contexte Adélia Web
  1. Modifier l'attribut "name" pour la balise ehcache
    <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:noNamespaceSchemaLocation="ehcache.xsd"  updateCheck="false" monitoring="autodetect"  dynamicConfig="true" name="com.hardis.adelia.ehcacheAdelWeb2">
    Et faire en sorte que toutes les webapps est un name différent.
  2. Modifier l'attribut "path" de la balise diskstore :
    <diskStore path="java.io.tmpdir/webcacheP2"/>
    Et faire en sorte que toutes les webapps est un path différent