package org.jboss.resteasy.test.asynch.resource; import org.jboss.resteasy.annotations.Suspend; import org.jboss.resteasy.logging.Logger; import org.jboss.resteasy.spi.AsynchronousResponse; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import java.io.PrintWriter; import java.io.StringWriter; @Path("/") public class LegacySuspendResource { private static Logger logger = Logger.getLogger(LegacySuspendResource.class); @GET @Produces("text/plain") public void get(@Suspend(8000) final AsynchronousResponse response) { Thread t = new Thread() { @Override public void run() { try { Thread.sleep(100); Response jaxrs = Response.ok("hello").type(MediaType.TEXT_PLAIN).build(); response.setResponse(jaxrs); } catch (Exception e) { StringWriter errors = new StringWriter(); e.printStackTrace(new PrintWriter(errors)); logger.error(errors.toString()); } } }; t.start(); } @GET @Path("timeout") @Produces("text/plain") public void timeout(@Suspend(100) final AsynchronousResponse response) { Thread t = new Thread() { @Override public void run() { try { Thread.sleep(1000); Response jaxrs = Response.ok("hello").type(MediaType.TEXT_PLAIN).build(); response.setResponse(jaxrs); } catch (Exception e) { StringWriter errors = new StringWriter(); e.printStackTrace(new PrintWriter(errors)); logger.error(errors.toString()); } } }; t.start(); } }