In this section, we're going to take a look at implementing asynchronous REST resources. We'll see the basic usage of the @Suspended annotation and the AsyncResponse class. We'll have a look at processing and resuming on an AsyncResponse instance in a different thread, and we will also talk about the basic timeout-handling for asynchronous responses.
Let's get started and switch to code. As usual, we prepare a few templates for us to get started. First up, I want to show you the basic structure of an asynchronous resource—have a look at the signature. All you need to do is implement a public void method that has at least one parameter that uses the @Suspended annotation. As a type, it uses the AsyncResponse class that's provided by the JAX-RS API:
@GET
public void calculate(@Suspended final AsyncResponse...