我正在尝试让Atmosphere在嵌入式Jetty 9服务器上使用Jersey 2,但我遗漏了一些东西。我一直在https://github.com/Atmosphere/atmosphere-samples/tree/master/samples上的例子(主要是jersey2-chat和embedded-jetty-websocket-chat),我可以这样做,无论是websockets工作,还是泽西资源工作,但不能同时工作。< / p>
我想要的只有2个资源:一个是WS&amp;泽西/ api / chat,以及/ api / demo上的'普通'泽西资源。
应用程序的初始化部分如下所示:
final ServletHolder apiServlet = new ServletHolder(AtmosphereServlet.class);
apiServlet.setInitParameter("javax.ws.rs.Application", AtRestApplication.class.getName());
apiServlet.setInitParameter(ApplicationConfig.WEBSOCKET_CONTENT_TYPE, "application/json");
apiServlet.setInitParameter(ApplicationConfig.ANALYTICS, "false");
apiServlet.setInitParameter(ApplicationConfig.ANNOTATION_PACKAGE, "com.resevo.arrow.athmosphere");
apiServlet.setInitParameter(ApplicationConfig.PROPERTY_COMET_SUPPORT, Jetty9AsyncSupportWithWebSocket.class.getName());
apiServlet.setAsyncSupported(true);
final ServletContextHandler wsContext = new ServletContextHandler(ServletContextHandler.SESSIONS);
wsContext.addServlet(apiServlet, "/api/*");
final HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { staticResourceHandler, wsContext });
server.setHandler(handlers);
有没有人有一个小样本如何使这项工作?