Bonjour
j'ai une webapp qui contient une classe qui permet de lire un fichier properties
Cette classe n'a pas été construite comme un singleton avec des getters sur les différentes propriétés mais plutôt de la façon suivante :
1) on déclare des membres public static final
2) on a un bloc static qui appelle une méthode private qui charge le fichier
3) et le reste du bloc static initialise les membres static avec les valeurs du fichier properties
Mon objectif est de proposé une fonctionnalité qui en cliquant sur un lien recharge le fichier properties pour que l'application prenne en compte mes nouvelles valeurs du fichier properties sans avoir à redémarrer mon tomcat .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public static final String maPropriete; .... static{ Properties prop = loadProperties();//methode qui charge le fichier //config et retourne un objet properties maPropriete = prop.getProperty("ma_propriete"); } //constructeur
Mon problème est sur la partie rechargement du fichier.
Ma première question est, est-ce que c'est possible étant donné que les properties sont chargés dans le bloc static et que celui-ci est donc chargé qu'une fois ?
J'ai pensé à utilisé un classloader en forçant le rechargement de la classe mais je ne maîtrise pas la fonctionnalité et j'ai une exception ClassNotFoundException en faisant dans une méthode
.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 private void myMethod(){ ClassLoader.getSystemClassLoader().loadClass("package.to.myPropertiesClass"); }
j'
Est-ce que quelqu'un a une idée svp ?
merci
Partager