title: Asynchronous REST API with Jersey
body: <p>We are using Jersey for a REST webservice (deployed on tomcat).</p>
  
  <p>I know that </p>
  
  <ul>
  <li>Tomcat's HTTP connector has a thread pool for reading HTTP requests and forwarding to Jersey. </li>
  <li>Forwarding to Jersey is synchronous. </li>
  </ul>
  
  <p>I read <a href="https://jersey.java.net/documentation/latest/async.html#d0e10297" rel="noreferrer">here</a> that Jersey provides <code>AsyncService</code> to maximise concurrency. </p>
  
  <p>Question:
  Why does Jersey's async design force developer to offload REST processing to separate thread/runnable, while Jersey can do this by itself with a dedicated/private executor pool?</p>
  
  <p>Is this for better control for developer or am I missing something here?</p>