2009-06-01 3 views
1

Мой проект представляет собой веб-проект построен с использованием трех технологий:Удаление файлов и папок Выпуск

  1. ICEfaces для презентационного слоя.

  2. Весна для бизнес-слоя.

  3. Hibernate для уровня доступа к данным.

Мой проект развернут на WebSphere 6.1, и пользователь может загружать файлы, я использую лед: компонент файл_ввода для управления процессом загрузки ...

Первый вопрос:

Когда процесс загрузки завершен, я ожидаю найти загруженный файл по следующему пути: myWebProjectRoot/upload/"sessionId" /fileName.ext

где «sessionId» - это папка с именем текущего идентификатора сеанса и t он fileName.ex является файл загружен пользователем ...

Но что я нашел это: папка «SESSIONID» не создан и файл хранится непосредственно на папке загрузки ..

Моя конфигурация похожа на конфигурацию компонента-витрины библиотеки iceards, которую я развернул на моем сервере, и он успешно создал каталог sessionId.

Я не знаю, что делать .. пожалуйста, помогите мне ...

Вторая проблема:

Когда сессия истекла, я ожидаю, что папка sessionId будет удалена, я изменил код компонента-витрины в классе InputFileSessionCleaner и заставил его удалить папку, а ее дети recursevly образуют бутылку вверх, но некоторое время я сталкиваюсь текущая проблема:

Некоторые файлы не могут быть удалены с использованием моего кода, возможно, они используются другим процессом, поэтому папка не будет удалена, поскольку один из ее дочерних элементов не был удален. так что делать в этом случае ...?

В моем сознании есть идея: Есть ли способ создать процесс, выполняющийся в фоновом режиме на стороне сервера: этот процесс проверяет каталог загрузки, и если он обнаруживает любой файл, созданный, по крайней мере, 60 минут -Какой мое время сеанса из периода, указанного в web.xml- этот процесс будет удалить этот файл ....

любой может помочь мне .. каждый помощь будет appriciated .....

+1

Это два отдельных вопроса. вы, скорее всего, получите ответы на свои вопросы, если разобьете их на два вопроса. –

+0

На ваш первый вопрос был дан ответ: [Вопрос переполнения стека # 1447029] (http://stackoverflow.com/questions/1447029/change-the-upload-directory-path-for-an-iceinputfile-component) – karlgrz

ответ

0

В ответ на ваш второй вопрос:

В WebSphere есть средство для создания рабочих потоков и организации их инициировать в соответствии с графиком. Этот подход полностью поддерживается в WebSphere - вы не нарушаете ограничений Java EE на создание потоков, используя его.

Поиск Aysynchronous Beans в вашей документации по WebSphere.

В WebSphere есть несколько вариантов этой возможности, одна из которых стандартно стандартизованная форма, которую вы также можете найти в других серверах App Servers. Некоторое описание приводится здесь: http://www.ibm.com/developerworks/library/specification/j-commonj-sdowmt/index.html

Смежные вопросы