Clustering
Pour centraliser les différentes données stockées au niveau d’une instance du cluster, il est nécessaire d’installer la base de données clé-valeur Redis et de configurer son accès depuis Plume. Pour cela, il est nécessaire de définir les propriétés suivantes :
spring.redis.host=<redis host>
spring.redis.port=6379
Sessions
Plume s’appuie sur la session utilisateur pour sauvegarder les emails en cours de rédaction. Il est donc nécessaire de stocker les sessions dans Redis. Pour utiliser Redis comme backend de stockage des sessions HTTP, ajouter la propriété :
spring.session.store-type=redis
Caches
Différentes données sont stockées en cache pour des questions de performances. Ces caches doivent donc être répliqués sur chacune des instances du cluster. Pour cela, ajouter la propriété suivante :
spring.cache.type=redis
Fichiers temporaires
Le dernier aspect à prendre en compte est la gestion des fichiers temporaires utilisés pour stocker les pièces jointes d’un email. Celles-ci sont stockées, de manière temporaire, dans un répertoire (par défaut: ${java.io.tmpdir}/plume/attachments
).
Ce répertoire doit être partagé entre les différentes instances du cluster. Pour cela, il est possible de modifier l’emplacement du répertoire utilisé avec la propriété plume.tmp.dir
.
Logs
La gestion des logs est basée sur Spring et son intégration de Logback. Pour configurer les logs générés par l’application, il suffit donc d’ajouter les propriétés voulues dans le fichier de propriété.
Le niveau de log défini par défaut est INFO
.
Quelques exemples de configuration :
Pour modifier le niveau de logs de l’application :
logging.level.root=trace
Pour modifier le niveau de logs de l’application :
logging.level.com.arondor=ERROR
Pour définir le fichier de log utilisé :
logging.file=plume.log
Session
La durée de la session peut être configurée avec les paramètres suivants :
server.servlet.session.timeout=30
server.servlet.session.cookie.max-age=30