2015-12-30 2 views
0

Способы управления весной контроллера по умолчанию Асинхронизированы.@Async в методе весеннего контроллера

Тогда в чем цель аннотации @Async?

@RequestMapping(value = "/status/{id}", method = RequestMethod.GET) 
@Async 
public Future<Status> getStatus(@PathVariable("id") String id) {  
    return new AsyncResult<Status>(status);  
} 

Также какова роль интерфейса будущего и класса AsyncResult?

ответ

1

@Async: Может использоваться для сценариев «огонь и забухание», таких как отправка электронной почты, запуск задания базы данных. Caller немедленно получает ответ, а фоновое задание завершает обработку.

какова роль интерфейса будущего и класса AsyncResult?

Будущее представляет результат асинхронных вычислений.

AsyncResult является реализация для будущего, оборачивает тип возврата асинхронного выполнения.

Согласно блоку this, Callable является соответствующим типом возврата для методов контроллера.

исх Async vs callable controllers

+0

Так @Async будет делать то, что Callable и DeferredResult делать, что выпускает контейнерный поток и обработки долго выполняющиеся задачи асинхронно в другом потоке справа? – Harshana

+0

Да, это поведение методов @Async. – Lovababu

Смежные вопросы