Я разрабатываю сборку веб-приложения в GWT, используя GWT RCP. Приложение предназначено для обмена мгновенными сообщениями, для которых я использую Redis Messaging.
При ожидании в сервлете сообщения, и я подписываюсь на этот канал, в перенаправлении все работает, как запланировано. Хотя, когда количество ожидающих запросов на сервере превышает 5, 6-й запрос не начинает обрабатываться и ожидает в очереди, пока не будет обработан один из предыдущих запросов. Я не был уверен, что проблема в redis (я использую библиотеку jedis), поэтому я попытался напрямую вызвать sleep для currentThread, но он вел себя так же.
public class TestServiceImpl extends RemoteServiceServlet implements
TestService {
@Override
public void syncWait(Date time) {
try{
Thread.currentThread().sleep(10000l);
}catch (Exception e) {
getLogger().error("sleep error", e);
}
return ;
}
}
Речь идет не об одном конкретном сервлете, когда открыто 5 запросов, 6-й даже не загружает статический контент. Я попробовал это на джети, стеклянной рыбе и коте.
Я также пытался изменить настройки пула потоков в Glassfish, maxthread-count я установил на 200, но это не сработало.
Не могли бы вы посоветовать, как увеличить количество обработанных запросов за сеанс и на сервер?