Close

Spring MVC - DeferredResult Examples

[Last Updated: Nov 9, 2025]

Spring MVC 

@Controller
public class MyController {

@GetMapping("test")
@ResponseBody
public DeferredResult<String> handleTestRequest() {

log("handler started");
final DeferredResult<String> deferredResult = new DeferredResult<>();

new Thread(() -> {
log("async task started");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
log("async task finished");
deferredResult.setResult("test async result");
}).start();


log("handler finished");
return deferredResult;
}

private static void log(String msg) {
System.out.println(
LocalTime.now() +
" MyController [" +
Thread.currentThread().getName() + "] "
+ msg);
}
}
Original Post




See Also

Join