Es gibt einen Unterschied zwischen "Best Practice", was viele Menschen aus guten Gründen tun, und "Common Practice", was viele Menschen tun, weil sie faul und / oder unwissend sind.
Anwendungen und (schlechtere) Server, die routinemäßig neu gestartet oder neu gestartet werden müssen, um einen reibungslosen Betrieb zu gewährleisten, sind weit verbreitet. Es ist aber auch ein klarer Hinweis darauf, dass Sie einen kritischen Fehler haben.
Indem Sie dafür sorgen, dass eine Anwendung regelmäßig neu gestartet wird, verbirgt Ihr Unternehmen einen schwerwiegenden Fehler unter dem Teppich. Dies ist unentschuldbar. Der Fehler muss behoben werden, sonst kommt er zurück, um Sie später zu beißen.
Idealerweise sollte Ihr Unternehmen einen besseren Entwickler finden. Leider kann dies zu ziemlich viel Arbeit führen, um große Teile Ihres Codes neu zu schreiben. Die Tatsache, dass der Entwickler schlecht geschriebenen Code entweder für akzeptabel hält oder nicht genug weiß, um die Symptome von fehlerhaftem Code zu erkennen, legt nahe, dass die Qualität des Codes niedrig ist. Ein guter Entwickler wird verfassungsmäßig nicht in der Lage sein, ihn in diesem Zustand zu belassen.
Da Sie möglicherweise nicht in der Lage sind, den Entwickler zu ersetzen, einige Vorschläge:
- Finden Sie heraus, ob ein besserer Entwickler den Code überprüfen und seine Bewertung an jemanden melden kann, der etwas dagegen tun kann.
- Schauen Sie sich die Profilerstellungs-Tools an. Wenn Sie die Fähigkeiten und / oder Neigung haben, versuchen Sie, den Code selbst zu profilieren, um das Leck zu finden und es zu melden.
Auch ohne auf entwicklerorientierte Profilerstellungstools zuzugreifen, gibt es zahlreiche sysadmin-orientierte Tools für die Profilerstellung und Überwachung der Speichernutzung in Java-Anwendungen. Sie sollten auf jeden Fall die Überwachung des Arbeitsspeichers (insbesondere des Heapspeichers) auf Ihren Produktionsservern einrichten. Ich würde dies empfehlen, auch wenn Sie Qualitätscode ausgeführt haben. Sie erhalten möglicherweise eine Vorwarnung, wenn Ihre fehlerhaften Apps umkippen.
Besser noch: Sie können anhand dieser Informationen nachweisen, dass ein Leck vorliegt, und möglicherweise sogar angeben, wo sich das Problem in der Anwendung befindet. Dadurch erhalten Sie bessere Munition für die Lobby, damit diese repariert wird.