Jetty 9 features previewed by developers
The latest version of the enduringly popular server has seen its guts re-architectured to expand its protocol support beyond HTTP.
Jetty developer Jesse McConnell has outlined
on his blog some of the features of the next version of the
enduringly popular Java-based server. Last time we checked in on
Jetty 9 its feature set was still
being nailed down, but after a few months’ work these ideas are
becoming a lot more solid.
The headline feature is support for the new SPDY protocol – already supported by Chrome and Firefox – which necessitates an upgrade to Java 1.7. It’s about time, after all – while Oracle has yet to set an end-of-life date for 1.6, it seems likely to be set within the next few months.
As expected back in January, Servlet API 3.1 is unlikely to be released anytime soon and so won’t be supported by default in Jetty 9. However, McConnell said that it wouldn’t be a “huge deal” to add it in later as part of a small update.
McConnell’s post also includes a message for users of Jetty 6, urging “for the love of god, please update!” Several distributions of Linux are still using Jetty 6, and apparently even Google App Engine and Google Web Toolkit are still on this deprecated version.
“It can’t be overstated how much the inner workings of jetty have evolved with Jetty 9,” writes McConnell. The move away from HTTP towards more modern protocols like SPDY and WebSockets has prompted a separation of wire protocol from semantic. This has required a rewrite of Jetty architecture “from the IO layer up”, but sounds as if it’s been worth it:
While these are mostly internal changes, they ripple out to give many benefits to users in the form of better performance, smaller software and simpler and more appropriate configuration. For example instead of having multiples of differennt [sp] connector types, each with unique SSL and/or SPDY variants, there is now a single connector into which various connections factories are configured to support SSL, HTTP, SPDY, Websocket etc. This means moving forward jetty will be able to adapt easily and quickly to new protocols as they come onto the scene.
For “many and varied” reasons, the two previous versions were
released as split production versions, but from 9 onwards this will
no longer be the case. McConnell also pledges an improvement to
Jetty’s documentation, versioned and stored under a common
Sounds great. We can’t wait to see the fruits of the team’s labour when they start dropping milestones later next month.