Java веб-приложение для нескольких пользователей - PullRequest
0 голосов
/ 09 ноября 2011

Мне нужно спроектировать и реализовать веб-приложение на Java, которое может использоваться несколькими пользователями одновременно. Данные, обрабатываемые этим приложением, будут огромными, и на странице для отображения результатов (записей базы данных) может потребоваться около 5 минут.

Я разработал это приложение с использованием HTML, сервлетов и JSP. Но когда два пользователя попытались получить записи, только один пользователь смог просмотреть результаты, а другой столкнулся с ошибкой.

Я всегда думал, что веб-приложение позаботится о работе с несколькими пользователями, но это не так.

Любые идеи по этому вопросу будут высоко оценены.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 09 ноября 2011

Я всегда думал, что веб-приложение позаботится о работе с несколькими пользователями, но это не так.

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

Одна из возможностей состоит в том, что на веб-уровне все в порядке, но доступ к БД для первого пользователя вызываетисключительная блокировка, чтобы второй пользователь не мог получить доступ к данным одновременно.Это можно исправить с помощью неисключительных блокировок чтения.Как это сделать, зависит главным образом от того, какую БД вы используете.

Для правильного параллелизма необходимо выбрать правильные инструменты и использовать их правильно.Это происходит не просто волшебно, потому что это веб-приложение.

0 голосов
/ 09 ноября 2011

Что используется для разработки этого веб-приложения? Если вы разрабатываете его по-своему с самого начала, я должен сказать, что вы пытаетесь заново изобрести то же колесо, которое уже создано и улучшено очень прочными каркасами.

Я предлагаю вам тщательно проанализировать ваши требования и изучить некоторые доступные рамки. Пусть они обрабатывают такие вещи, как многопоточность и другие аспекты, наилучшим образом.

Одновременная обработка нескольких запросов - это работа с контейнером, и, как разработчик приложения, мы должны сосредоточиться на том, как мы обрабатываем и обрабатываем те запросы, которые перенаправляет контейнер.

Я должен предложить вам получить представление о том, как работает веб-приложение и как происходит цикл запроса-ответа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...