Несколько вызовов ajax для одного и того же клиента с обратным ajax

Я разрабатываю очень большое приложение в JAVA/Sping MVC/Jquery поверх Oracle Weblogic, в котором есть несколько экранов, называемых обзорами, которые делают несколько вызовов ajax на сервер. Все эти вызовы должны выполняться параллельно, поскольку они предоставляют конечному клиенту сводку различных типов информации. На этом экране пользователь может перейти к подробной информации.

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

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

  • Измените некоторые конфигурации в weblogic (я не знаю, какой...)
  • Реализовать обратный ajax

Я предпочитаю второе, однако мой сервер привязан к сервлету 2.5 (weblogic 10.3.6), поэтому я не могу воспользоваться преимуществами нового асинхронного API в сервлете 3.0.

Я внимательно смотрю на атмосферу, которая имеет очень чистый дизайн ИМХО. Также я открыт для предложений по другим технологиям. Проблема в том, как я могу сделать что-то подобное в атмосфере. Я хочу снимать запросы к серверу и обрабатывать их параллельно. Как только они будут готовы, я хочу получить ответ и закрыть базовое соединение.

Как я могу этого добиться?


person Ivo Leitão    schedule 24.09.2012    source источник


Ответы (1)


Проверьте DWR: http://directwebremoting.org/dwr/index.html

Кажется, это лучшее решение AJAX/java, которое я когда-либо видел. Он может хорошо выполнять пакетную обработку запросов, что важно для AJAX.

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

Возможно, это может помочь: Параллельные асинхронные запросы Ajax с использованием jQuery

Также обратите внимание, что существует ограничение на максимальное количество одновременных запросов к серверу: allow-in-popular-browse">Сколько одновременных запросов AJAX (XmlHttpRequest) разрешено в популярных браузерах?

person Solubris    schedule 25.09.2012
comment
Здравствуйте, прежде всего спасибо за ваш ответ. Я думаю, проблема в том, что weblogic выделяет только поток для каждого пользователя (сеанса). И, поскольку я делаю несколько запросов от одного и того же пользователя, они одновременно покидают браузер, но помещаются в weblogic. - person Ivo Leitão; 25.09.2012
comment
Что касается dwr, я исследовал это решение, но я думаю, что с точки зрения производительности атмосфера - единственная, которая использует встроенную поддержку в weblogic. - person Ivo Leitão; 26.09.2012