我有一个在 Grizzly 实例上运行的 Jersey JAX-RS 应用程序:
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 注释资源。我想在同一服务器实例上使用 Tyrus 添加 websocket 注释(、、、等)资源(比如在“ @ServerEndpoint
http://127.0.0.1:8080/websocket @OnOpen
”中),但我能找到的所有文档都显示如何使用 Tyrus + Grizzly 容器启动独立的 websocket 服务器,而不是与 Jersey 结合使用。我正在寻找类似的东西:@OnMessage
server.getServerConfiguration().addHttpHandler(new SomeTyrusHttpHandler("/websocket"));
但我找不到类似的东西SomeTyrusHttpHandler
。如何将 Jersey 和 Tyrus 组合在一个 Grizzly 服务器中?