У меня есть приложение JAX-RS-Джерси, который работает на экземпляре Grizzly:комбинат Джерси с Тиром
public class Application {
public static final String BASE_URI = "http://127.0.0.1:8080/rest";
public static void main(String[] args) throws IOException {
ResourceConfig rc = new ResourceConfig().packages("my.package.rest");
HttpServer server = GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI), rc);
System.out.println("Server started, press any key to stop.");
System.in.read();
server.shutdownNow();
}
}
внутри my.package.rest
Есть JAX-RS аннотированного ресурсов. Я хотел бы добавить websocket аннотированные (@ServerEndpoint
, , @OnMessage
и т. Д.) Ресурсы с использованием Tyrus на том же экземпляре сервера (скажем, в «http://127.0.0.1:8080/websocket»), но вся документация, которую я смог найти, показывает, как запустить автономный сервер websocket используя Tyrus + контейнер Grizzly, не объединенный с Джерси. Я ищу что-то вроде:
server.getServerConfiguration().addHttpHandler(new SomeTyrusHttpHandler("/websocket"));
, но я не могу найти ничего подобного SomeTyrusHttpHandler
. Как я могу комбинировать Jersey и Tyrus на одном сервере Grizzly?
Просто используйте Атмосферу, она делает именно то, что вы хотите, и разрешите управлять Джерси поверх гризли, GlassFish и т. Д. Https://github.com/Atmosphere/atmosphere. Например, http://goo.gl/s7OwGc - это супер легкий пример Джерси 2, который работает прозрачно поверх веб-гнезд. – jfarcand
см. Https://github.com/pavelbucek/placeholder - PoC, в котором сочетаются Джерси и Тир (поверх Grizzly + HK2). –
Привет, есть ли новости об такой интеграции? Я хотел бы добавить ресурс WebSocket в проект на Джерси. –