Dernière modification : 19/01/2021

Externaliser les fichiers properties avec Tomcat 9

Dans cet article nous allons voir comment externaliser les fichiers properties avec Tomcat 9.

1. Introduction

Externaliser les fichiers de properties est intéressant pour séparer les différents environnements (dev / prod) sans pour autant avoir à modifier les fichiers du WAR ou de modifier les fichiers de properties une fois l'application déployée.

2. Utilisation du fichier server.xml


  
    
  

Remarque : La variable NOM_APP est à remplacer par le nom de votre application.

Ici nous lions le fichier /opt/tomcat/properties/application.properties au fichier /WEB-INF/classes/application.properties de l'application, remplaçant l'ancien fichier de properties par le nouveau.

Cette solution est déconseillée depuis Tomcat 5 car le fichier server.xml n'est pris en compte qu'à partir d'un redémarrage du tomcat et donc de toutes les applications en cours. Pour pallier ce problème, le point suivant est à préférer.

3. Fichier context spécifique à l'application

Pour des raisons de facilité, nous supposerons que le fichier WAR se nomme ROOT.war afin que l'application soit disponible à la racine du site ( / ).

Dans le dossier $CATALINA_HOME/conf/Catalina/localhost, créer un fichier ROOT.xml (nom du fichier war). Dans ce fichier insérer les lignes suivantes :



  
    
  

Ici nous lions le fichier /opt/tomcat/properties/application.properties au fichier /WEB-INF/classes/application.properties de l'application, remplaçant l'ancien fichier de properties par le nouveau.

La configuration est spécifique au war utilisé, donc il n'y a pas besoin de relancer le serveur tomcat pour avoir la nouvelle configuration chargée.