Мой проект - это веб-проект, построенный с использованием трех технологий:
Icefaces для слоя представления.
Пружина для бизнес-уровня.
Спящий режим для уровня доступа к данным.
Мой проект развернут в WebSphere 6.1, и пользователь может загружать файлы, я использую компонент ice: inputFile для управления процессом загрузки ...
Первый выпуск:
Когда процесс загрузки закончится, я ожидаю найти загруженный файл по следующему пути: myWebProjectRoot / upload / "sessionId" /fileName.ext
где "sessionId" - это папка с именем текущего сеанса, а fileName.ex - это файл, загруженный пользователем ...
Но я обнаружил, что папка "sessionId" не создана, и файл хранится непосредственно в папке загрузки.
Моя конфигурация аналогична конфигурации компонента-витрины библиотеки icefaces, которую я развернул на своем сервере, и он успешно создал каталог sessionId ....
я не знаю, что делать .. пожалуйста, помогите мне ...
Второй выпуск:
Когда сессия истекла, я ожидаю, что папка sessionId будет удалена, я изменил код компонента-витрины в классе InputFileSessionCleaner и заставил его удалить папку, и ее дети рекурсивно формируются снизу вверх, но Некоторое время я сталкиваюсь с текущей проблемой:
Некоторые файлы не могут быть удалены с помощью моего кода - возможно, они используются другим процессом - поэтому папка не будет удалена, поскольку один из ее дочерних элементов не был удален. так что же делать в этом случае ...?
У меня в голове есть идея:
Есть ли способ создать процесс, работающий в фоновом режиме на стороне сервера: этот процесс проверяет каталог загрузки, и если он обнаруживает какой-либо файл, созданный по крайней мере за 60 минут - какой период моего сеанса истек, указанный в web.xml- этот процесс удалит этот файл ....
любой может мне помочь .. любая помощь будет оценена .....