2013-12-17 43 views
4

我正在嘗試將Tyrus部署到Tomcat 8容器,並且失敗。根據文檔,我應該能夠部署一個包含我的類和支持Tyrus類/依賴項的WAR,並且所有使用@ServerEndpoint註釋的類都應該在WAR中找到,並作爲websocket端點進行部署。這條指令讓我有點不解,因爲我沒有在部署描述符中定義任何類型的過濾器,但是決定我必須以某種方式取決於Tomcat 8中對JSR 356支持的一些未知魔術。事實證明,沒有這樣的魔力。注:我使用的是Tomcat 8,因爲我的理解是它支持JSR 356 websocket標準。另外,我的JDK是最新的Java 7版本。如何將Tyrus(JSR 356實現)部署到Web容器?

我花了一些時間研究這一點,發現人們通過運行一個服務器實例(org.glassfish.tyrus.server.Server)作爲Java應用程序從命令中成功地發佈了帶有Tyrus的websocket端點線。我已經試過這個,它的工作原理。但是,我無法找到在Tomcat上部署WAR的任何成功。

有沒有人有任何洞察到通過Tyrus在Tomcat 8上成功發佈websocket端點所需的步驟?

回答

6

Apache Tomcat 7.0及更高版本(和Eclipse Jetty 9.1)內置了對JSR-356(又名javax.websocket)的支持。

在大多數JEE7容器上不需要使用Tyrus兼容層。

只需跳過整個Tyrus配置問題,並使用支持javax.websocket的內置功能。

+0

我肯定是過於複雜的事情。我一定需要一個健全的檢查。一切按預期按照文檔工作,感謝Joakim! – mchandler

+0

Tyrus非常有用的功能是自動重新連接。在JSR-356的內置支持中,我找不到與autoreconnect相關的任何內容。 – Kowlown

+0

自動重新連接不是JSR-356/javax.websocket規範或API的一部分 –

相關問題