package org.jboss.resteasy.test.asynch.resource; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.core.Response; import org.jboss.logging.Logger; import org.jboss.resteasy.annotations.Suspend; import org.jboss.resteasy.spi.AsynchronousResponse; @Path("/") public class AsyncPostProcessingResource { private static Logger logger = Logger.getLogger(AsyncPostProcessingResource.class); @GET @Path("sync") public Response sync() { return Response.ok().entity("sync").build(); } @GET @Path("async/delay") public void asyncDelay(@Suspend(10000) final AsynchronousResponse response) throws Exception { Thread t = new Thread() { @Override public void run() { try { Thread.sleep(5000); Response jaxrs = Response.ok("async/delay").build(); response.setResponse(jaxrs); } catch (Exception e) { logger.info("Error: " + e.getStackTrace()); } } }; t.start(); } @GET @Path("async/nodelay") public void asyncNoDelay(@Suspend(10000) final AsynchronousResponse response) throws Exception { Response jaxrs = Response.ok("async/nodelay").build(); response.setResponse(jaxrs); } }