Синхронизация Java в веб-приложении

1

У меня есть веб-приложение, которое генерирует файл ODT на основе параметра пользовательского запроса и хранится на сервере как "mid.odt". После этого он будет преобразован в Pdf и опубликован для пользователя. Существует ли какая-либо проблема синхронизации, если больше пользователей загрузит файл с другим запросом параметра.

  • 2
    Вы всегда храните его с тем же именем?
  • 0
    Да, я всегда храню одно и то же имя mid.odt, и конверсия тоже одно и то же.
Теги:

1 ответ

2
Лучший ответ

Да, есть проблема. Если два разных пользователя одновременно обрабатывают файлы, то оба будут создавать один и тот же файл, и только один из них будет обработан. Возможные результаты:

  1. один или оба пользователя потерпят неудачу
  2. оба пользователя, по-видимому, преуспеют, но, возможно, они не получат PDF файл запрашиваемого файла.
  3. возможны и другие результаты.

Вы должны создавать каждую загрузку в уникальный файл. File.createTempFile() - это опция, которую вы можете использовать, или, возможно, в Java8, использовать Files.createTempFile(...).

Вам нужно будет сообщить процессу конвертации ODT/PDF, что такое новое имя файла.

  • 0
    Спасибо за Ваш ответ. Можем ли мы выполнить синхронизацию, чтобы только один пользователь одновременно мог получить доступ к этой функции. Он разработан в Scooter Framework (JSp) и развернут на сервере Apache Tomcat.
  • 0
    Можем ли мы использовать для этого метод Synchronized ... Будет ли это работать в веб-приложении ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню