↗ JetBrains 20% discount
Buy any product from JetBrains and get a 20% discount.
Spring MVC
@Controllerpublic 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); }}