Ich schreibe eine Webanwendung unter Windows. Diese Anwendung besteht aus zwei oder mehr WARs.
Diese WARs erstellen temporäre Dateien bei der Verarbeitung.
Problem
Beim Programmtest habe ich festgestellt, dass eine temporäre Datei immer noch vorhanden ist und nicht gelöscht wird. Ich habe versucht, diese Datei aus dem Explorer zu löschen, aber ich habe die Meldung erhalten, dass die Aktion nicht abgeschlossen werden kann, da die Datei in „java.exe“ geöffnet ist..
Das ist offensichtlich dass einer der WARs die Datei immer noch öffnet (weil in der Meldung java.exe steht). Aber es gibt zwei oder mehr WARs auf Tomcat, daher konnte ich nicht herausfinden, welche Anwendung dieses Problem verursacht hat.
Außerdem sind diese Anwendungen so komplex, dass es schwierig ist, herauszufinden, welche Klasse liest /schreibt (
der Datei?
Eine Methode, die ohne Herunterfahren von Tomcat anwendbar ist (wie jcmd), ist vorzuziehen, da andere WARs auf demselben Tomcat getestet werden.
Hintergrund [list] [*]Ich schreibe eine Webanwendung unter Windows. Diese Anwendung besteht aus zwei oder mehr WARs. [*]Diese WARs erstellen temporäre Dateien bei der Verarbeitung. [/list] Problem [list] [*]Beim Programmtest habe ich festgestellt, dass eine temporäre Datei immer noch vorhanden ist und nicht gelöscht wird. Ich habe versucht, diese Datei aus dem Explorer zu löschen, aber ich habe die Meldung erhalten, dass die Aktion nicht abgeschlossen werden kann, da die Datei in „java.exe“ geöffnet ist.. [*]Das ist offensichtlich dass einer der WARs die Datei immer noch öffnet (weil in der Meldung java.exe steht). Aber es gibt zwei oder mehr WARs auf Tomcat, daher konnte ich nicht herausfinden, welche Anwendung dieses Problem verursacht hat. [*]Außerdem sind diese Anwendungen so komplex, dass es schwierig ist, herauszufinden, welche Klasse liest /schreibt ([code]FileInputStream[/code]/[code]FileOutputStream[/code], zum Beispiel) diese Datei. [/list] Frage Beginnen Sie mit dem Pfad eines bestimmten Datei, gibt es eine Möglichkeit herauszufinden, welche Instanz einer Klasse den Dateideskriptor hat([code]FileInputStream[/code]/[code]FileOutputStream[/code] der Datei? Eine Methode, die ohne Herunterfahren von Tomcat anwendbar ist (wie jcmd), ist vorzuziehen, da andere WARs auf demselben Tomcat getestet werden.
Ich habe zwei DB -Tabellen, eine für Rezepte und eine für Zutaten, aber wenn ich versuche, die Datenbank zu aktualisieren, wird die oben genannte Ausnahme ausgelöst.
Mein API -Controller ist...