Wouldn't this work? https://java.net/projects/jax-rs-spec/pages/AsyncServerProcessingModel/revisions/22
Joakim Erdfelt / [email protected] On Wed, Nov 25, 2015 at 8:50 AM, Thomas Meyer <[email protected]> wrote: > Am 25.11.2015 4:26 nachm. schrieb Joakim Erdfelt <[email protected]>: > > > > Manage your own ThreadPool, or use the Servlet AsyncContext features for > async processing of individual requests. > > Hi, > > Sadly in JAX-RS you don't have access to AsyncContext, here is my > solution. I had to use reflection because of classloader issues... > > Path("res") > public class TestResource { > > private Logger log; > > public TestResource() { > log = Logger.getLogger(TestResource.class.getName()); > } > > @GET > public void getResourceData(@Suspended AsyncResponse ar, @Context > ServletContext sc) throws NoSuchMethodException, SecurityException, > IllegalAccessException, IllegalArgumentException, InvocationTargetException > { > log.log(Level.INFO, "In thread {0}", > Thread.currentThread()); > > Method methodGetContextHandler = > sc.getClass().getMethod("getContextHandler"); > Object contextHandler = methodGetContextHandler.invoke(sc, > null); > Method methodGetServer = > contextHandler.getClass().getMethod("getServer"); > Object server = methodGetServer.invoke(contextHandler, > null); > Method methodGetThreadpool = > server.getClass().getMethod("getThreadPool"); > Executor threadPool = (Executor) > methodGetThreadpool.invoke(server, null); > > Runnable run = new Runnable() { > @Override > public void run() { > Logger log = Logger.getAnonymousLogger(); > log.log(Level.INFO, "In thread {0}", > Thread.currentThread()); > ar.resume("it works!"); > } > }; > threadPool.execute(run); > } > } > > The JPA context has a warp() function, it would be cool if ServletContext > could have something similar: sc.wrap(Server.class) to get the underlying > server class. > > > Joakim Erdfelt / [email protected] > _______________________________________________ > jetty-users mailing list > [email protected] > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/jetty-users >
_______________________________________________ jetty-users mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/jetty-users
