Comment recharger propriétés avec le Printemps?
Je suis en utilisant le fichier de propriétés avec le Printemps les 3.
Quand le Printemps initialise ses contex il charge le fichier de propriétés et la met dans tous les haricots avec @Valeur de l'annotation.
Je veux avoir une possibilité de mise à jour de certaines propriétés dans un fichier, et d'exposer un JMX sur le serveur qui va recharger les nouvelles propriétés de Printemps - sans redémarrer le serveur, et le rechargement de son contexte.
Puis-je mettre en œuvre en utilisant certains Printemps méthode de pour recharger les propriétés et les remplir à tous les haricots, ou devrais-je écrire quelque chose comme ceci par moi-même?
OriginalL'auteur Julias | 2012-11-06
Vous devez vous connecter pour publier un commentaire.
Je suggère de remplacer le
java.util.Properties
avec unPropertiesConfiguration
de la Configuration D'Apache Commons projet. Il prend en charge de recharge automatique, soit par la détection lorsque le fichier est modifié, ou en déclenchant par JMX.En supposant que le
PropertiesConfiguration
est une propriété de vos haricots, il n'est rien de le remplir de nouveau, l'exemple des mises à jour de lui-même.Vous devriez regarder les owner.aeonbits.org au lieu de PropertiesConfiguration.
stackoverflow.com/a/40288822/5416807
OriginalL'auteur Emmanuel Bourg
Je pense qu'il n'est pas la même façon de le faire. Le plus "propre" que l'on serait d'arrêter le Printemps contexte et de construire à partir de zéro. Par exemple, considérez l'utilisation de DBCP pool de connexion et la mise à jour de la base de données URL de connexion. Cela signifie que la piscine doit être correctement fermé, l'objet doit être créé et ensuite toutes les références de la piscine doit être mis à jour. Maintenant, quelques haricots peut prendre de connexion à partir de cette piscine, et la mise à jour de la piscine config signifie que vous avez besoin de re-demande de connexions en quelque sorte. Ainsi, les haricots peuvent avoir besoin de savoir comment le faire, ce qui n'est pas commun.
Je te suggère de créer des haricots avec la configuration et la mise à jour des événements, et de mettre bean dépendance pour tous les haricots que vous devez savoir sur les modifications de configuration. Ensuite, vous pouvez utiliser Apache Commons Configuration pour waching les modifications de fichiers et propager les mises à jour de configuration.
Peut-être l'utilisation de JMS est bon (si plus tard vous allez distribuer votre application).
OriginalL'auteur jdevelop
Oui, vous pouvez le faire au Printemps JMX. Ajouter les haricots de votre ressort fichier de configuration. Créer une méthode pour lire le fichier de propriétés. Dans cet exemple j'utilise callThisAgain() la méthode.
Après cela, vous pouvez utiliser jconsole pour recharger votre méthode sans avoir à redémarrer le serveur.
OriginalL'auteur Rajith Delantha
l'utilisation d'apache commun avec le printemps comme suit:
OriginalL'auteur M2E67
OriginalL'auteur Mohit Singh
Alors que certains ici sont ce qui suggère à l'aide d'un moyen d'utiliser les propriétés(externe à Spring propre manière d'utiliser les fichiers de propriété). Cette réponse, c'est exactement ce que vous cherchez https://stackoverflow.com/a/52648630/39998 Chaud, Rechargement des propriétés au Printemps de Démarrage et Java EE.
OriginalL'auteur David Hofmann