title: Java Spring: How is the return value of @Async method handled?
body: <p>Say I have a method </p>
  
  <pre><code>@RestController
  @RequestMapping(value = "/")
  public class AppController {
  
      @Async
      @PostMapping(value="/")
      public CompletableFuture&lt;&gt; doSomething(@RequestBody ..., HTTPServletResponse response){
           //something; 
       return completableResult;
      }
  }
  </code></pre>
  
  <p>I understand that the method will return immediately and release the container thread. </p>
  
  <p>But how is the value returned (after some time) handled? </p>
  
  <p>Is there a listener? </p>
  
  <p>And doesn't that block one of the container threads?</p>
  
  <p>Isn't there something like future.get() executed internally ?</p>