Il y a une différence entre les «meilleures pratiques», les choses que beaucoup de gens font pour de bonnes raisons, et les «pratiques courantes», les choses que beaucoup de gens font parce qu'ils sont paresseux et / ou ignorants.
Les applications et (pire) les serveurs qui doivent être régulièrement redémarrés ou redémarrés pour continuer à bien fonctionner sont assez courants. Mais c'est aussi une indication claire que vous avez un bug critique.
En le rendant SOP pour redémarrer une application régulièrement, votre entreprise cache un bug sérieux sous le tapis. C'est inexcusable, le bug doit être face cachée et écrasé, ou il reviendra vous mordre plus tard.
Idéalement, votre entreprise devrait trouver un meilleur développeur. Malheureusement, cela peut entraîner beaucoup de travail pour réécrire de grandes parties de votre code. Le fait que le développeur pense que du code mal écrit est acceptable ou n'en sait pas assez pour reconnaître les symptômes du code bogué suggère que la qualité du code est faible. Un bon développeur sera constitutionnellement incapable de le laisser dans cet état.
Étant donné que vous n'êtes peut-être pas en mesure de remplacer le développeur, quelques suggestions:
- Vérifiez si un meilleur développeur peut réviser le code et signaler son évaluation à quelqu'un qui peut y faire quelque chose,
- Jetez un œil aux outils de profilage. Si vous avez les compétences et / ou l'inclination, essayez de profiler le code vous-même pour trouver la fuite et la signaler.
Même sans entrer dans les outils de profilage orientés développeur, il existe de nombreux outils orientés sysadmin pour le profilage et la surveillance de l'utilisation de la mémoire sur les applications Java. Vous devez vraiment configurer la surveillance de la mémoire (en particulier le tas) sur vos serveurs de production dans tous les cas. Je recommanderais cela même si vous exécutez un code de qualité. Il peut vous avertir à l'avance lorsque vos applications de buggy sont sur le point de basculer.
Mais mieux encore, ceux-ci devraient vous aider à rassembler des preuves de fuite et peuvent même indiquer où se situe le problème dans l'application. Cela vous donnera de meilleures munitions pour faire pression pour qu'elles soient réparées.