Configurer ehcache

ehcache est un cache réparti Java code source ouvert pour la mise en cache, Java EE et les conteneurs pondérés. Chaque nœud du cluster peut utiliser le même fichier campaign_ehcache.xml, mais vous pouvez aussi définir un fichier campaign_ehcache.xml différent pour chaque nœud. Pour les installations dans un cluster, éditez le fichier campaign_ehcache.xml afin d'éviter de devoir redémarrer l'ordinateur si vous changez les modèles ou les dossiers d'offres.

Important :
  • Si votre installation est mise à niveau à partir d'une version précédente, le fichier campaign_ehcache.xml est remplacé. Ajoutez et éditez les sections ci-après dans le fichier.
  • Vous devez également configurer la mise en cache pour les sessions utilisateur (userSessionCache).

Utilisez l'une des procédures suivantes pour configurer le fichier ehcache.

Configuration d'ehcache avec invocation RMI

Les systèmes Unica Campaign dont la topographie est la suivante utilisent généralement RMI :


Serveur avec équilibrage de charge sur les deux serveurs

Dans un éditeur de texte, ouvrez le fichier campaign_ehcache.xml depuis le répertoire <HCL_Unica_HOME>\<CAMPAIGN_HOME>\conf. Ensuite, apportez les modifications suivantes :

  • Annulez la mise en commentaire de la section suivante du fichier.

    Vous devez personnaliser les paramètres de machineA et machineB en fonction de votre environnement. Fournissez une liste de tous les serveurs du cluster, avec comme séparateur le symbole de barre verticale, et utilisez des noms de système hôte qualifié complet.

    <!--<cacheManagerPeerProviderFactory 
    class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" 
    properties="peerDiscovery=manual, rmiUrls=//
    <machineA>:40000/campaignApplicationCache|//
    <machineB>:40000/campaignApplicationCache|//
    <machineA>:40000/userSessionCache|//
    <machineB>:40000/userSessionCache"/>
    <machineA>:40000/mappingCache
    <machineA>:40000/multipartitionOptSessionRunStatusCache
    <machineA>:40000/optSessionUserSessionCache
    -->
  • Annulez la mise en commentaire de la section suivante du fichier.
    <!--
    <cacheEventListenerFactory
    class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
    properties="replicateAsynchronously=true, replicatePuts=true,
    replicateUpdates=true, replicateUpdatesViaCopy=true,
    replicateRemovals=true"/>
    <cacheEventListenerFactory
    class="com.unicacorp.Campaign.cache.CampaignCacheEventListenerFactory" />
    <machineA>:40000/mappingCache
    <machineA>:40000/multipartitionOptSessionRunStatusCache
    <machineA>:40000/optSessionUserSessionCache
    
    -->
  • Annulez la mise en commentaire de la section suivante du fichier.
    <!--
    <cacheEventListenerFactory
    class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
    properties="replicateAsynchronously=true, replicatePuts=true,
    replicateUpdates=true, replicateUpdatesViaCopy=true, 
    replicateRemovals=true"/>
    -->

Configuration d'ehcache avec multidiffusion

Les systèmes Unica Campaign dont la topographie est la suivante utilisent généralement la multidiffusion :


Serveur avec équilibrage de charge sur un seul serveur

Dans un éditeur de texte, ouvrez le fichier campaign_ehcache.xml depuis le répertoire <UNICA_HOME>\<CAMPAIGN_HOME>\conf. Ensuite, apportez les modifications suivantes :

  • Annulez la mise en commentaire de la section suivante du fichier.

    Vous devez personnaliser les paramètres de multicastGroupAddress et de multicastGroupPort en fonction de votre environnement.

    <!--<cacheManagerPeerProviderFactory 
    class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" 
    properties="peerDiscovery=automatic, multicastGroupAddress=230.0.0.1, 
    multicastGroupPort=4446, timeToLive=32"/>
    
    <cacheManagerPeerListenerFactory 
    class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"/>
    -->
  • Annulez la mise en commentaire de la section suivante du fichier.
    <!--
    <cacheEventListenerFactory
    class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
    properties="replicateAsynchronously=true, replicatePuts=true,
    replicateUpdates=true, replicateUpdatesViaCopy=true,
    replicateRemovals=true"/>
    <cacheEventListenerFactory
    class="com.unicacorp.Campaign.cache.CampaignCacheEventListenerFactory" />
    -->