Prise en charge d'un plus grand nombre de sessions simultanées dans Ehcache
Lorsque vous utilisez Ehcache en tant que gestionnaire de cache dans certains environnements Interact, un grand nombre de sessions simultanées peut amener l'environnement d'exécution Interact à dépasser sa mémoire disponible et provoquer un arrêt du système ou une erreur de manque de mémoire. Une erreur de manque de mémoire est plus susceptible de se produire si vous avez augmenté le paramètre de configuration maxEntriesInCache (Interact > cacheManagement > Caches > InteractCache > maxEntriesInCache) en lui affectant une valeur supérieure à la valeur par défaut, bien que cette situation puisse exister, même avec la valeur par défaut maximale de 100 000 sessions. Pour éviter ce problème, vous pouvez réduire la valeur maxEntriesInCache ou suivre les instructions fournies ici pour modifier le cache système pour enregistrer la mémoire cache sur disque. Cette modification permet d'utiliser un beaucoup plus grand nombre de sessions simultanées qu'il ne serait possible autrement.
Pour empêcher l'environnement d'exécution Interact de dépasser la mémoire disponible dans le segment de mémoire JVM (Java virtual machine), vous pouvez modifier le mécanisme de mise en cache pour utiliser le stockage sur disque pour mettre en cache les données qui dépassent la mémoire disponible.
Interact utilise le système Ehcache de mise en cache distribué Open Source pour mettre en cache les données. Par défaut, Interact utilise les paramètres spécifiés par IBM® Marketing Platform pour gérer la mise en cache Ehcache. Cependant, vous pouvez remplacer ces paramètres pour Interact en créant votre propre fichier de configuration Ehcache qui est automatiquement chargé lorsque Interact démarre.
Pour charger un fichier de configuration Ehcache personnalisé au démarrage, les conditions suivantes doivent exister :
*
La JVM doit contenir la propriété interact.ehcache.config de paramètre, comme dans l'exemple suivant :
-Dinteract.ehcache.config=/temp/abc.xml
Vous pouvez définir une propriété JVM pour le serveur d'applications Web dans le script de commande de démarrage Oracle WebLogic) ou Admin Console (IBM® WebSphere®). Les informations dans /temp/abc.xml sont le chemin d'accès au fichier XML qui contient la configuration Ehcache à charger lors du démarrage.
*
Si vous ne définissez pas cette propriété ou que vous la définissez et qu'il n'existe pas de fichier de configuration dans l'emplacement défini, Interact utilise sa configuration de cache par défaut.
Si les deux conditions sont réunies, le fichier de configuration Ehcache est chargé au démarrage et ses paramètres remplacent les paramètres de configuration par défaut Interact de mise en cache des données de sessions.
L'exemple suivant montre un fichier de configuration (de format XML) que vous pouvez utiliser pour personnaliser Ehcache :
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:noNamespaceSchemaLocation="../../main/config/ehcache.xsd">

<defaultCache
maxElementsInMemory="10"
eternal="false"
timeToIdleSeconds="5"
timeToLiveSeconds="10"
overflowToDisk="true"
/>

<cache name="InteractCache"
maxElementsInMemory="5"
eternal="false"
timeToIdleSeconds="600"
timeToLiveSeconds="600"
overflowToDisk="true">

<cacheEventListenerFactory
class="com.unicacorp.interact.cache.ehcache.EHCacheEventListenerFactory"
properties=""/>
<!--Pour InteractCache, utilisez le code suivant pour utiliser
EHCacheEventListenerFactory :-->
<cacheEventListenerFactory
class="com.unicacorp.interact.cache.EHCacheEventListenerFactory"
properties=""/>
<!--Pour PatternStateCache, utilisez le code suivant pour utiliser
EHCacheEventListenerFactory :-->
<cacheEventListenerFactory
class="com.unicacorp.interact.cache.PatternStateCacheEventListenerFactory"
properties=""/>
</cache>

</ehcache>
Si vous avez enregistré ce fichier sous /IBM/Interact/conf/Ehcache.xml, définissez la propriété JVM de l'application Web, comme dans l'exemple suivant :
-Dinteract.ehcache.config=/IBM/Interact/conf/Ehcache.xml
Pour la liste complète des options disponibles pour modifier le logiciel Ehcache, voir http://ehcache.org/files/documentation/EhcacheUserGuide-2.0-2.3.pdf