В моем приложении у меня есть клиент AJAX для загрузки нескольких файлов. Я заметил (используя класс обработки заглушки), что Spring обычно открывает 6 потоков одновременно, а остальные запросы на загрузку файлов блокируются, пока какой-либо из этих 6 потоков не завершит свою работу. Затем ему присваивается новый запрос, как в пуле потоков.
Я не сделал ничего конкретного, чтобы достичь такого поведения. Это то, что Spring делает по умолчанию за кулисами?
При загрузке у меня не было никаких проблем с просмотром других частей приложения, практически без значительного снижения производительности.
Однако я заметил, что один из моих «закулисных» звонков на сервер (я опрашиваю новые уведомления каждые 20 секунд) также блокируется. На стороне сервера мое приложение вызывает хранилище значений ключей на основе Redis, которое всегда должно возвращаться, даже если нет новых уведомлений. Обычно запросы на него начинают обрабатываться только после завершения загрузки. Любое объяснение такого рода блокировки?
Редактировать: Я думаю, что он имеет дело с максимумом одновременных запросов за сеанс