Tomcat 6: Wie lösche ich temporäre Dateien, nachdem ein Webmethodenaufruf beendet wurde?
Ich habe eine temporäre Datei mit Daten, die als Teil einer SOAP-Antwort über einen binären MTOM-Anhang zurückgegeben werden. Ich möchte es in den Papierkorb werfen, sobald der Methodenaufruf "endet" (d. H. Die Übertragung beendet). Wie mache ich das am besten? Am besten kann ich herausfinden, wie das geht, indem ich sie lösche, wenn die Sitzung zerstört wird. Ich bin mir jedoch nicht sicher, ob es eine "unmittelbarere" Möglichkeit gibt, dies zu tun.
Zu Ihrer Information, ich verwende NICHT Axis, ich verwende jax-ws, wenn das wichtig ist.
UPDATE: Ich bin nicht sicher, ob die Antwortenden das Problem wirklich verstehen. Ich weiß, wie man eine Datei in Java löscht. Mein Problem ist folgendes:
@javax.jws.WebService
public class MyWebService {
...
@javax.jws.WebMethod
public MyFileResult getSomeObject() {
File mytempfile = new File("tempfile.txt");
MyFileResult result = new MyFileResult();
result.setFile(mytempfile); // sets mytempfile as MTOM attachment
// mytempfile.delete() iS WRONG
// can't delete mytempfile because it hasn't been returned to the web service client
// yet. So how do I remove it?
return result;
}
}