Vous devez créer un ou plusieurs jar (s) séparé (s) avec toutes les classes (et toutes leurs dépendances) dont vous prévoyez de mettre en cache puis déployer ce fichier jar ainsi que ehcache.jar en tant que bibliothèque (en fonction du serveur d'application utilisez la procédure peut être différente), dans le cas de Tomcat 6 cela signifie simplement copier des fichiers jars dans le dossier lib. Ce qui se passe alors, c'est qu'ehcache et vos classes de domaine seront chargées par le chargeur de classes partagé par toutes les applications Web, les instances seront donc mises en cache et accessibles en mémoire. Les dépendances de vos classes de domaine sont importantes. Vous devriez donc voir si cette approche est réalisable dans votre projet. Cela peut également affecter la façon dont vous redémarrez les applications Web. En outre, vous devez savoir que le cache et le partage ne sont pas nécessairement la même chose. Le cache est une optimisation. Si vous mettez une instance d'objet dans le cache, elle peut être expulsée immédiatement si, par exemple, le cache n'a pas assez d'espace de stockage ou de configuration de politique d'expulsion. Donc peut-être vous devez revoir la façon dont vous prévoyez d'utiliser ecache en général.
pourriez-vous élaborer plus sur ce que vous essayez d'accomplir avec le cache partagé? – lucas
Je veux l'utiliser comme un verrou distribué. Je pourrais utiliser une base de données pour indiquer qu'une transaction est en cours (mais je crois que c'est un anti-pattern). Usecase: War1 démarre un tx, le stocke dans le cache. Cela empêche le démarrage du même tx. War2 invalide tx en fonction d'un événement externe. – ashitaka