I tried to move my web application from Virgo Tomcat server to Virgo Jetty server to get better support for websockets. The web application is successfully deployed and started but i didn't found the application under the same URL like in Virgo Tomcat. Has someone experience with this problem? Last note my webapp is a .par archive and all code can be found here
Asked
Active
Viewed 93 times
2 Answers
0
As the maintainer of the websocket implementation for Jetty, you have 2 choices.
- Convince virgo to upgrade to Jetty 9 - as WebSocket support in Jetty 8.1.3 (which is what ships with Virgo 3.6.3-RELEASE) is too old of a WebSocket implementation to be useful.
- Use virgo tomcat and skip using WebSocket.
Some history:
- RFC-6455 (The WebSocket Protocol) was finalized on Dec 2011
- Jetty 8.1.3 has RFC-6455 implemented per spec, but only up to date for Apr 2012
- Chrome and Firefox change the rules for Sec-WebSocket-Protocol validation on Nov 2013
- All versions of Jetty 7.x and 8.x are affected (no fix present for Jetty 7.x and 8.x, as they are on security and data corruption maintenance at this point)
- Early versions of Tomcat 8.x are also affected.
- Jetty 9.x had a fix applied for the new Sec-WebSocket-Protocol rules on Nov 2013
- Tomcat 8.0 initial release vote Jan 2014 fails due to Sec-WebSocket-Protocol issue, and is postponed a week to fix it
- Current Tomcat 8.x releases are fixed
In short, if you want to use websocket, on a browser, then you have to use either a recent version of Tomcat 8.x or Jetty 9.x to be successful and stable.
Also, if you want to use JSR-356 (aka javax.websocket) then you must also use Jetty 9.x (as that's not available on Jetty 7 or Jetty 8)

Joakim Erdfelt
- 46,896
- 7
- 86
- 136