Tôi có một ứng dụng JAX-RS Jersey mà chạy trên một trường hợp Grizzly:Kết hợp Jersey với Tyrus
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();
}
}
bên my.package.rest
có JAX-RS chú thích nguồn lực. Tôi muốn thêm websocket chú thích (@ServerEndpoint
, @OnOpen
, @OnMessage
, v.v.) tài nguyên sử dụng Tyrus trên cùng một máy chủ (nói trong "http://127.0.0.1:8080/websocket") nhưng tất cả tài liệu tôi có thể tìm thấy cho thấy cách khởi động máy chủ websocket độc lập sử dụng Tyrus + thùng chứa Grizzly, không kết hợp với Jersey. Tôi đang tìm một cái gì đó như:
server.getServerConfiguration().addHttpHandler(new SomeTyrusHttpHandler("/websocket"));
nhưng tôi không thể tìm thấy bất cứ điều gì tương tự như SomeTyrusHttpHandler
. Làm thế nào tôi có thể kết hợp Jersey và Tyrus trong một máy chủ Grizzly đơn?
Chỉ cần sử dụng Khí quyển, nó thực hiện chính xác những gì bạn muốn và cho phép chạy Jersey trên đầu trang của Grizzly, GlassFish, vv https://github.com/Atmosphere/atmosphere. Ví dụ http://goo.gl/s7OwGc là ví dụ siêu dễ dàng của Jersey 2 chạy một cách minh bạch trên đầu trang của các ổ cắm web. – jfarcand
xem https://github.com/pavelbucek/placeholder - PoC, kết hợp giữa Jersey và Tyrus (trên đầu trang của Grizzly + HK2). –
Xin chào, có tin tức nào về sự tích hợp như vậy không? Tôi muốn thêm một tài nguyên WebSocket vào dự án Jersey của tôi. –