我有它運行在一個灰熊實例新澤西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註釋的資源。我想在同一個服務器實例(比如「http://127.0.0.1:8080/websocket」)中添加使用Tyrus註釋的websocket(@ServerEndpoint
,@ServerEndpoint
,@OnOpen
,@OnMessage
等)資源,但是我能夠找到的所有文檔都顯示瞭如何啓動獨立的websocket服務器使用Tyrus +一個灰熊容器,不與澤西島結合。我在尋找類似:
server.getServerConfiguration().addHttpHandler(new SomeTyrusHttpHandler("/websocket"));
,但我不能找到類似SomeTyrusHttpHandler
什麼。我怎樣才能將Jersey和Tyrus結合到一個Grizzly服務器中?
只需使用Atmosphere,它就是您想要的,並允許在Grizzly,GlassFish等頂部運行Jersey。https://github.com/Atmosphere/atmosphere。例如http://goo.gl/s7OwGc是澤西島2超級簡單的例子,透明地運行在websockets之上。 – jfarcand
請參閱https://github.com/pavelbucek/placeholder - PoC,它結合了Jersey和Tyrus(位於Grizzly + HK2之上)。 –
你好,有沒有這樣一個整合的消息?我想爲我的Jersey項目添加一個WebSocket資源。 –