Я смотрю на пружинный метод @Controller, который вызывает метод @Async, выполняет некоторые «другие действия», а затем вызывает .get()
для Future
, возвращаемого вызовом метода async.
Я вижу, как это может улучшить время отклика контроллера, поскольку как асинхронный метод, так и «другие вещи» включают вызовы веб-служб и, конечно же, почему бы не выполнить несколько вызовов ws параллельно.Но делать это внутри контроллера кажется мне необычным.
Я всегда думал, что возиться с потоками в веб-приложении - не очень хорошая идея, после того, как все веб-приложения запущенына серверах с их собственными идеями о многопоточности (и фиксированным пулом потоков для обработки запросов).
Имеет ли это неприятный запах по этому поводу?Я ни о чем не беспокоюсь?Как Spring будет обрабатывать параллельные потоки, создавая новый поток вне элемента управления сервера или используя другой поток из пула сервера?