Mam plik tymczasowy z danymi, które są zwracane jako część odpowiedzi SOAP za pomocą binarnego załącznika MTOM. Chciałbym go wyrzucić, gdy tylko wywołanie metody "zakończy się" (tzn. Zakończy przesyłanie). Jaki jest najlepszy sposób, aby to zrobić? Najlepszym sposobem, aby dowiedzieć się, jak to zrobić, jest usunięcie ich, gdy sesja zostanie zniszczona, ale nie jestem pewien, czy jest to bardziej "natychmiastowy" sposób na zrobienie tego.Tomcat 6: jak usunąć pliki tymczasowe po zakończeniu połączenia z metodą WWW?
FYI, NIE używam Osi, używam jax-ws, jeśli to ma znaczenie.
AKTUALIZACJA: Nie jestem pewien, czy respondenci naprawdę rozumieją problem. Wiem, jak usunąć plik w języku Java. Mój problem jest następujący:
@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;
}
}
Podoba mi się to rozwiązanie! Moim celem było dodanie pliku do zmiennej sesji, a następnie usunięcie pliku po wygaśnięciu sesji użytkownika. Wprowadziłem również dodatkową kontrolę, aby usunąć plik w finalizacji(). –