10
votes

Reconnaître les propriétés des modifications de fichiers sans redémarrer Tomcat

Y a-t-il un moyen pour le serveur de reconnaître les modifications sans redémarrer après un fichier de propriétés mises à jour? Parce qu'il provoque java.lang.outofMemoryError: espace permanent après le deuxième redémarrage.

Le fichier de propriétés est dans le dossier Web-INF.

acclamations ...


0 commentaires

4 Réponses :


2
votes

Si vous êtes sur JDK 7, vous pouvez Regardez le système de fichiers pour les modifications et rechargez le fichier lorsque cela est nécessaire.


0 commentaires

1
votes

Si vous n'utilisez pas encore JDK 7, je vous suggérerais d'utiliser un moniteur de fichier comme Ceci pour surveiller les modifications apportées à votre fichier de propriétés et lorsque cela modifie simplement relire le fichier de propriétés dans votre Propriétés objet.


0 commentaires

8
votes

Il n'y a pas de chemin direct!

Le chargeur de classement WebApp Tomcat met en cache chaque ressource qui a été chargée par elle. Un changement ne sera pas visible que si vous redémarrez le contexte. Il n'y a pas d'API dégageant ce cache. Tout ce que vous pouvez faire est d'accéder à cette carte via la réflexion et appelez la méthode claire. Toutes les ressources seront relues du disque sur demande. Clear Ceci < / a> hashmap etc. vous avez fait! Le moniteur de fichiers ne vous aidera pas vraiment depuis que vous avez un chargeur de classe personnalisé.


0 commentaires